Oliver Scott
2024-07-16 19:33:50 -04:00
parent 0e299f2129
commit ab9a5ea27b
4 changed files with 20 additions and 12 deletions

View File

@@ -10,6 +10,7 @@ import static android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION;
import static org.lineageos.setupwizard.SetupWizardApp.ACTION_LOAD; import static org.lineageos.setupwizard.SetupWizardApp.ACTION_LOAD;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_SCRIPT_URI; import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_SCRIPT_URI;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_WIZARD_BUNDLE;
import static org.lineageos.setupwizard.SetupWizardApp.LOGV; import static org.lineageos.setupwizard.SetupWizardApp.LOGV;
import android.annotation.Nullable; import android.annotation.Nullable;
@@ -37,15 +38,17 @@ public class SetupWizardActivity extends AppCompatActivity {
} }
SetupWizardUtils.enableComponent(this, WizardManager.class); SetupWizardUtils.enableComponent(this, WizardManager.class);
Intent intent = new Intent(ACTION_LOAD); Intent intent = new Intent(ACTION_LOAD);
Bundle wizardBundle = new Bundle();
if (SetupWizardUtils.isOwner()) { if (SetupWizardUtils.isOwner()) {
intent.putExtra(EXTRA_SCRIPT_URI, getString(R.string.lineage_wizard_script_uri)); wizardBundle.putString(EXTRA_SCRIPT_URI, getString(R.string.lineage_wizard_script_uri));
} else if (SetupWizardUtils.isManagedProfile(this)) { } else if (SetupWizardUtils.isManagedProfile(this)) {
intent.putExtra(EXTRA_SCRIPT_URI, getString( wizardBundle.putString(EXTRA_SCRIPT_URI,
R.string.lineage_wizard_script_managed_profile_uri)); getString(R.string.lineage_wizard_script_managed_profile_uri));
} else { } else {
intent.putExtra(EXTRA_SCRIPT_URI, wizardBundle.putString(EXTRA_SCRIPT_URI,
getString(R.string.lineage_wizard_script_user_uri)); getString(R.string.lineage_wizard_script_user_uri));
} }
intent.putExtra(EXTRA_WIZARD_BUNDLE, wizardBundle);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | FLAG_GRANT_READ_URI_PERMISSION); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | FLAG_GRANT_READ_URI_PERMISSION);
intent.setPackage(getPackageName()); intent.setPackage(getPackageName());
startActivity(intent); startActivity(intent);

View File

@@ -27,6 +27,7 @@ public class SetupWizardApp extends Application {
public static final String ACTION_EMERGENCY_DIAL = "com.android.phone.EmergencyDialer.DIAL"; public static final String ACTION_EMERGENCY_DIAL = "com.android.phone.EmergencyDialer.DIAL";
public static final String ACTION_LOAD = "com.android.wizard.LOAD"; public static final String ACTION_LOAD = "com.android.wizard.LOAD";
public static final String EXTRA_WIZARD_BUNDLE = "wizardBundle";
public static final String EXTRA_SCRIPT_URI = "scriptUri"; public static final String EXTRA_SCRIPT_URI = "scriptUri";
public static final String EXTRA_ACTION_ID = "actionId"; public static final String EXTRA_ACTION_ID = "actionId";
public static final String EXTRA_RESULT_CODE = "com.android.setupwizard.ResultCode"; public static final String EXTRA_RESULT_CODE = "com.android.setupwizard.ResultCode";

View File

@@ -7,8 +7,8 @@ package org.lineageos.setupwizard;
import static com.google.android.setupcompat.util.ResultCodes.RESULT_ACTIVITY_NOT_FOUND; import static com.google.android.setupcompat.util.ResultCodes.RESULT_ACTIVITY_NOT_FOUND;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_ACTION_ID;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_SCRIPT_URI; import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_SCRIPT_URI;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_WIZARD_BUNDLE;
import static org.lineageos.setupwizard.SetupWizardApp.LOGV; import static org.lineageos.setupwizard.SetupWizardApp.LOGV;
import android.annotation.NonNull; import android.annotation.NonNull;
@@ -58,9 +58,9 @@ public abstract class SubBaseActivity extends BaseSetupWizardActivity {
protected void startSubactivity(Intent subactivityIntent) { protected void startSubactivity(Intent subactivityIntent) {
Intent intent = getIntent(); Intent intent = getIntent();
if (intent.hasExtra(EXTRA_SCRIPT_URI)) { Bundle wizardBundle = intent.getBundleExtra(EXTRA_WIZARD_BUNDLE);
subactivityIntent.putExtra(EXTRA_SCRIPT_URI, intent.getStringExtra(EXTRA_SCRIPT_URI)); if (wizardBundle.containsKey(EXTRA_SCRIPT_URI)) {
subactivityIntent.putExtra(EXTRA_ACTION_ID, intent.getStringExtra(EXTRA_ACTION_ID)); subactivityIntent.putExtra(EXTRA_WIZARD_BUNDLE, wizardBundle);
} }
try { try {
startActivityForResult(subactivityIntent); startActivityForResult(subactivityIntent);

View File

@@ -12,6 +12,7 @@ import static org.lineageos.setupwizard.SetupWizardApp.ACTION_LOAD;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_ACTION_ID; import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_ACTION_ID;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_RESULT_CODE; import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_RESULT_CODE;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_SCRIPT_URI; import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_SCRIPT_URI;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_WIZARD_BUNDLE;
import static org.lineageos.setupwizard.SetupWizardApp.LOGV; import static org.lineageos.setupwizard.SetupWizardApp.LOGV;
import android.annotation.Nullable; import android.annotation.Nullable;
@@ -44,8 +45,9 @@ public class WizardManager extends Activity {
if (intent != null) { if (intent != null) {
String action = intent.getAction(); String action = intent.getAction();
int resultCode = intent.getIntExtra(EXTRA_RESULT_CODE, 0); int resultCode = intent.getIntExtra(EXTRA_RESULT_CODE, 0);
String scriptUri = intent.getStringExtra(EXTRA_SCRIPT_URI); Bundle wizardBundle = intent.getBundleExtra(EXTRA_WIZARD_BUNDLE);
String actionId = intent.getStringExtra(EXTRA_ACTION_ID); String scriptUri = wizardBundle.getString(EXTRA_SCRIPT_URI);
String actionId = wizardBundle.getString(EXTRA_ACTION_ID);
if (LOGV) { if (LOGV) {
Log.v(TAG, " action=" + action + " resultCode=" + resultCode + " scriptUri=" Log.v(TAG, " action=" + action + " resultCode=" + resultCode + " scriptUri="
+ scriptUri + " actionId=" + actionId + " extras=" + intent.getExtras()); + scriptUri + " actionId=" + actionId + " extras=" + intent.getExtras());
@@ -82,8 +84,10 @@ public class WizardManager extends Activity {
intent.putExtras(extras); intent.putExtras(extras);
} }
intent.putExtra(EXTRA_SCRIPT_URI, scriptUri); Bundle wizardBundle = new Bundle();
intent.putExtra(EXTRA_ACTION_ID, action.getId()); wizardBundle.putString(EXTRA_SCRIPT_URI, scriptUri);
wizardBundle.putString(EXTRA_ACTION_ID, action.getId());
intent.putExtra(EXTRA_WIZARD_BUNDLE, wizardBundle);
intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT); intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivity(intent); startActivity(intent);
} }