- add sources.
[platform/framework/web/crosswalk.git] / src / sync / test / android / javatests / src / org / chromium / sync / test / util / MockGrantCredentialsPermissionActivity.java
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 package org.chromium.sync.test.util;
6
7 import android.accounts.Account;
8 import android.app.Activity;
9 import android.content.Intent;
10 import android.os.Bundle;
11 import android.os.Handler;
12 import android.os.Looper;
13 import android.util.Log;
14 import android.widget.TextView;
15
16 /**
17  * A dummy implementation of the Android {@link GrantCredentialsPermissionActivity} that is used
18  * when displaying the Allow/Deny dialog when an application asks for an auth token
19  * for a given auth token type and that app has never gotten the permission.
20  *
21  * Currently this activity just starts up, broadcasts an intent, and finishes.
22  *
23  * This class is used by {@link MockAccountManager}.
24  */
25 public class MockGrantCredentialsPermissionActivity extends Activity {
26
27     private static final String TAG = "MockGrantCredentialsPermissionActivity";
28
29     static final String ACCOUNT = "account";
30
31     static final String AUTH_TOKEN_TYPE = "authTokenType";
32
33     @Override
34     protected void onCreate(Bundle savedInstanceState) {
35         super.onCreate(savedInstanceState);
36         TextView textView = new TextView(this);
37         Account account = (Account) getIntent().getParcelableExtra(ACCOUNT);
38         String authTokenType = getIntent().getStringExtra(AUTH_TOKEN_TYPE);
39         String accountName = account == null ? null : account.name;
40         String message = "account = " + accountName + ", authTokenType = " + authTokenType;
41         textView.setText(message);
42         setContentView(textView);
43     }
44
45     @Override
46     protected void onResume() {
47         super.onResume();
48         // Send out the broadcast after the Activity has completely started up.
49         Handler handler = new Handler(Looper.getMainLooper());
50         handler.post(new Runnable() {
51             @Override
52             public void run() {
53                 Log.d(TAG, "Broadcasting " + MockAccountManager.MUTEX_WAIT_ACTION);
54                 sendBroadcast(new Intent(MockAccountManager.MUTEX_WAIT_ACTION));
55                 finish();
56             }
57         });
58     }
59 }