ex

Fork of mbed-os-example-mbed5-blinky by mbed-os-examples

Revision:
45:2aa9f933c8d2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dcs-sdk-java-master/app/src/main/java/com/baidu/duer/dcs/androidapp/DcsSampleOAuthActivity.java	Tue Jul 18 16:34:48 2017 +0800
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2017 Baidu, Inc. All Rights Reserved.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.baidu.duer.dcs.androidapp;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+
+import com.baidu.duer.dcs.R;
+import com.baidu.duer.dcs.oauth.api.BaiduDialog;
+import com.baidu.duer.dcs.oauth.api.BaiduDialogError;
+import com.baidu.duer.dcs.oauth.api.BaiduException;
+import com.baidu.duer.dcs.oauth.api.BaiduOauthImplicitGrant;
+import com.baidu.duer.dcs.util.LogUtil;
+
+/**
+ * 用户认证界面
+ * <p>
+ * Created by zhangyan42@baidu.com on 2017/5/18.
+ */
+public class DcsSampleOAuthActivity extends DcsSampleBaseActivity implements View.OnClickListener {
+    // 需要开发者自己申请client_id
+    // client_id,就是oauth的client_id
+    private static final String CLIENT_ID = "{{nc72pRBp2VbSBZk0LSvqHGjFrbjOvQNH}}";
+    // 是否每次授权都强制登陆
+    private boolean isForceLogin = false;
+    // 是否每次都确认登陆
+    private boolean isConfirmLogin = true;
+    private EditText editTextClientId;
+    private Button oauthLoginButton;
+    private BaiduOauthImplicitGrant baiduOauthImplicitGrant;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.dcs_sample_activity_oauth);
+        initView();
+        setOnClickListener();
+    }
+
+    private void setOnClickListener() {
+        oauthLoginButton.setOnClickListener(this);
+    }
+
+    private void initView() {
+        editTextClientId = (EditText) findViewById(R.id.edit_client_id);
+        oauthLoginButton = (Button) findViewById(R.id.btn_login);
+
+        editTextClientId.setText(CLIENT_ID);
+    }
+
+    @Override
+    public void onClick(View view) {
+        switch (view.getId()) {
+            case R.id.btn_login:
+                String clientId = editTextClientId.getText().toString();
+                if (!TextUtils.isEmpty(clientId) && !TextUtils.isEmpty(clientId)) {
+                    baiduOauthImplicitGrant = new BaiduOauthImplicitGrant(clientId, DcsSampleOAuthActivity.this.getApplication());
+                    baiduOauthImplicitGrant.authorize(DcsSampleOAuthActivity.this, isForceLogin, isConfirmLogin, new BaiduDialog
+                            .BaiduDialogListener() {
+                        @Override
+                        public void onComplete(Bundle values) {
+                            Toast.makeText(DcsSampleOAuthActivity.this.getApplicationContext(),
+                                    getResources().getString(R.string.login_succeed),
+                                    Toast.LENGTH_SHORT).show();
+                            startMainActivity();
+                        }
+
+                        @Override
+                        public void onBaiduException(BaiduException e) {
+
+                        }
+
+                        @Override
+                        public void onError(BaiduDialogError e) {
+                            if (null != e) {
+                                String toastString = TextUtils.isEmpty(e.getMessage())
+                                        ? DcsSampleOAuthActivity.this.getResources()
+                                        .getString(R.string.err_net_msg) : e.getMessage();
+                                Toast.makeText(DcsSampleOAuthActivity.this.getApplicationContext(), toastString,
+                                        Toast.LENGTH_SHORT).show();
+                            }
+                        }
+
+                        @Override
+                        public void onCancel() {
+                            LogUtil.d("cancle", "I am back");
+                        }
+                    });
+                } else {
+                    Toast.makeText(DcsSampleOAuthActivity.this.getApplicationContext(),
+                            getResources().getString(R.string.client_id_empty),
+                            Toast.LENGTH_SHORT).show();
+                }
+                break;
+            default:
+                break;
+        }
+    }
+
+    private void startMainActivity() {
+        Intent intent = new Intent(DcsSampleOAuthActivity.this, DcsSampleMainActivity.class);
+        intent.putExtra("baidu", baiduOauthImplicitGrant);
+        startActivity(intent);
+        finish();
+    }
+}
\ No newline at end of file