SetupWizard: Conditionally run account setup
If the package defined by cm_account_type (which can be overlayed) exists, then add CyanogenSettingsPage. Otherwise, omit. PS3: On the cyngn side, the account type and package name don't match. Added a new string to overlay. Change-Id: I15e032e21281aaf51ca32ac9cc0861e033201f19
This commit is contained in:
parent
68d2ba7728
commit
7ab7f3c6d9
@ -21,6 +21,7 @@
|
||||
<string name="default_theme_name" translatable="false">Material</string>
|
||||
|
||||
<string name="cm_account_type" translatable="false">com.cyanogenmod.account</string>
|
||||
<string name="cm_account_package_name" translatable="false">com.cyanogenmod.account</string>
|
||||
|
||||
<string name="next">Next</string>
|
||||
<string name="skip">Skip</string>
|
||||
|
@ -26,6 +26,7 @@ import android.telephony.TelephonyManager;
|
||||
|
||||
import android.util.Log;
|
||||
import com.android.internal.telephony.TelephonyIntents;
|
||||
import com.cyanogenmod.setupwizard.R;
|
||||
import com.cyanogenmod.setupwizard.util.SetupWizardUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@ -66,7 +67,9 @@ public class CMSetupWizardData extends AbstractSetupData {
|
||||
if (SetupWizardUtils.hasGMS(mContext)) {
|
||||
pages.add(new GmsAccountPage(mContext, this).setHidden(true));
|
||||
}
|
||||
if (!SetupWizardUtils.hasLeanback(mContext)) {
|
||||
if (!SetupWizardUtils.hasLeanback(mContext) &&
|
||||
SetupWizardUtils.isPackageInstalled(mContext,
|
||||
mContext.getString(R.string.cm_account_package_name))) {
|
||||
pages.add(new CyanogenServicesPage(mContext, this).setHidden(true));
|
||||
}
|
||||
if (SetupWizardUtils.hasFingerprint(mContext) && SetupWizardUtils.isOwner()) {
|
||||
|
@ -199,6 +199,16 @@ public class SetupWizardUtils {
|
||||
return AccountManager.get(context).getAccountsByType(accountType).length > 0;
|
||||
}
|
||||
|
||||
public static boolean isPackageInstalled(Context context, String packageName) {
|
||||
PackageManager pm = context.getPackageManager();
|
||||
try {
|
||||
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
|
||||
return true;
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public static void disableSetupWizard(Context context) {
|
||||
disableComponent(context, context.getPackageName(),
|
||||
"com.cyanogenmod.setupwizard.ui.SetupWizardActivity");
|
||||
|
Loading…
Reference in New Issue
Block a user