summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorcretin45 <cretin45@gmail.com>2015-02-17 17:09:32 -0800
committercretin45 <cretin45@gmail.com>2015-02-17 17:09:32 -0800
commit79840ecb4e4bfd5093746be41498cfcdc9254509 (patch)
treef147777afb4781127922e32c29326f8c952258fa /tests
parent77c129f8b940532298d9c3cb8ae72d051ad3ed74 (diff)
downloadpackages_apps_SetupWizard-79840ecb4e4bfd5093746be41498cfcdc9254509.zip
packages_apps_SetupWizard-79840ecb4e4bfd5093746be41498cfcdc9254509.tar.gz
packages_apps_SetupWizard-79840ecb4e4bfd5093746be41498cfcdc9254509.tar.bz2
SetupWizard: Fix scenario where GMS setup disables its components
Change-Id: Ia8edd39645f83625ff06fb61903b672b774257d6
Diffstat (limited to 'tests')
-rw-r--r--tests/src/com/cyanogenmod/account/tests/ManualTestActivity.java68
1 files changed, 52 insertions, 16 deletions
diff --git a/tests/src/com/cyanogenmod/account/tests/ManualTestActivity.java b/tests/src/com/cyanogenmod/account/tests/ManualTestActivity.java
index 6b489a7..dfa493a 100644
--- a/tests/src/com/cyanogenmod/account/tests/ManualTestActivity.java
+++ b/tests/src/com/cyanogenmod/account/tests/ManualTestActivity.java
@@ -19,7 +19,10 @@ package com.cyanogenmod.setupwizard.tests;
import android.app.Activity;
import android.content.ComponentName;
+import android.content.Context;
import android.content.Intent;
+import android.content.pm.ComponentInfo;
+import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.provider.Settings;
@@ -58,13 +61,19 @@ public class ManualTestActivity extends Activity {
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
final PackageManager pm = getPackageManager();
- ComponentName componentName = new ComponentName("com.cyanogenmod.setupwizard", "com.cyanogenmod.setupwizard.ui.SetupWizardActivity");
- pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
+ ComponentName componentName = new ComponentName("com.cyanogenmod.setupwizard",
+ "com.cyanogenmod.setupwizard.ui.SetupWizardActivity");
+ pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
+ PackageManager.DONT_KILL_APP);
+ pm.clearApplicationUserData("com.cyanogenmod.setupwizard", null);
try {
- componentName = new ComponentName("com.google.android.setupwizard", "com.google.android.setupwizard.SetupWizardActivity");
- pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
- componentName = new ComponentName("com.google.android.setupwizard", "com.google.android.setupwizard.WizardManager");
- pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
+ PackageInfo packageInfo = getPackageManager()
+ .getPackageInfo("com.google.android.setupwizard",
+ PackageManager.GET_ACTIVITIES |
+ PackageManager.GET_RECEIVERS | PackageManager.GET_SERVICES);
+ enableComponentArray(packageInfo.activities);
+ enableComponentArray(packageInfo.services);
+ enableComponentArray(packageInfo.receivers);
pm.clearApplicationUserData("com.google.android.setupwizard", null);
} catch (Exception e) {
Toast.makeText(this, "GMS not installed", Toast.LENGTH_SHORT).show();
@@ -82,10 +91,13 @@ public class ManualTestActivity extends Activity {
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
final PackageManager pm = getPackageManager();
- ComponentName componentName = new ComponentName("com.google.android.setupwizard", "com.google.android.setupwizard.SetupWizardActivity");
- pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
- componentName = new ComponentName("com.google.android.setupwizard", "com.google.android.setupwizard.WizardManager");
- pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
+ PackageInfo packageInfo = this.getPackageManager()
+ .getPackageInfo("com.google.android.setupwizard",
+ PackageManager.GET_ACTIVITIES |
+ PackageManager.GET_RECEIVERS | PackageManager.GET_SERVICES);
+ enableComponentArray(packageInfo.activities);
+ enableComponentArray(packageInfo.services);
+ enableComponentArray(packageInfo.receivers);
pm.clearApplicationUserData("com.google.android.setupwizard", null);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | intent.getFlags());
startActivity(intent);
@@ -102,13 +114,19 @@ public class ManualTestActivity extends Activity {
Intent intent = new Intent("android.intent.action.MAIN");
intent.addCategory("android.intent.category.HOME");
final PackageManager pm = getPackageManager();
- ComponentName componentName = new ComponentName("com.cyanogenmod.setupwizard", "com.cyanogenmod.setupwizard.ui.SetupWizardActivity");
- pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
+ ComponentName componentName = new ComponentName("com.cyanogenmod.setupwizard",
+ "com.cyanogenmod.setupwizard.ui.SetupWizardActivity");
+ pm.setComponentEnabledSetting(componentName,
+ PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
try {
- componentName = new ComponentName("com.google.android.setupwizard", "com.google.android.setupwizard.SetupWizardActivity");
- pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
- componentName = new ComponentName("com.google.android.setupwizard", "com.google.android.setupwizard.WizardManager");
- pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
+ PackageInfo packageInfo = this.getPackageManager()
+ .getPackageInfo("com.google.android.setupwizard",
+ PackageManager.GET_ACTIVITIES |
+ PackageManager.GET_RECEIVERS | PackageManager.GET_SERVICES);
+ enableComponentArray(packageInfo.activities);
+ enableComponentArray(packageInfo.services);
+ enableComponentArray(packageInfo.receivers);
+ pm.clearApplicationUserData("com.google.android.setupwizard", null);
} catch (Exception e) {
Toast.makeText(this, "GMS not installed", Toast.LENGTH_SHORT).show();
e.printStackTrace();
@@ -118,4 +136,22 @@ public class ManualTestActivity extends Activity {
finish();
}
+ private void enableComponentArray(ComponentInfo[] components) {
+ if(components != null) {
+ ComponentInfo[] componentInfos = components;
+ for(int i = 0; i < componentInfos.length; i++) {
+ enableComponent(componentInfos[i].packageName, componentInfos[i].name);
+ }
+ }
+ }
+
+ private void enableComponent(String packageName, String name) {
+ enableComponent(new ComponentName(packageName, name));
+ }
+
+ private void enableComponent(ComponentName component) {
+ getPackageManager().setComponentEnabledSetting(component,
+ PackageManager.COMPONENT_ENABLED_STATE_ENABLED, 1);
+ }
+
} \ No newline at end of file