am b3a98725: Merge "Show an error dialog when account type is requested on a limited user" into jb-mr2-dev

* commit 'b3a9872549137f6c3983609e48e5b2d4fc94a3d4':
  Show an error dialog when account type is requested on a limited user
This commit is contained in:
Amith Yamasani
2013-04-10 17:33:35 -07:00
committed by Android Git Automerger
3 changed files with 57 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
/*
* Copyright (C) 2013 The Android Open Source Project
*
* 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 android.accounts;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import com.android.internal.R;
/**
* @hide
* Just shows an error message about the account restrictions for the limited user.
*/
public class CantAddAccountActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.app_not_authorized);
}
public void onCancelButtonClicked(View view) {
onBackPressed();
}
}

View File

@@ -2272,6 +2272,14 @@
android:process=":ui">
</activity>
<activity android:name="android.accounts.CantAddAccountActivity"
android:excludeFromRecents="true"
android:exported="true"
android:theme="@android:style/Theme.Holo.Dialog"
android:label="@string/error_message_title"
android:process=":ui">
</activity>
<activity android:name="android.accounts.GrantCredentialsPermissionActivity"
android:excludeFromRecents="true"
android:exported="true"

View File

@@ -22,6 +22,7 @@ import android.accounts.AccountAndUser;
import android.accounts.AccountAuthenticatorResponse;
import android.accounts.AccountManager;
import android.accounts.AuthenticatorDescription;
import android.accounts.CantAddAccountActivity;
import android.accounts.GrantCredentialsPermissionActivity;
import android.accounts.IAccountAuthenticator;
import android.accounts.IAccountAuthenticatorResponse;
@@ -1456,6 +1457,14 @@ public class AccountManagerService
"User is not allowed to add an account!");
} catch (RemoteException re) {
}
Intent cantAddAccount = new Intent(mContext, CantAddAccountActivity.class);
cantAddAccount.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
long identityToken = clearCallingIdentity();
try {
mContext.startActivityAsUser(cantAddAccount, UserHandle.CURRENT);
} finally {
restoreCallingIdentity(identityToken);
}
return;
}