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.EXTRA_SCRIPT_URI;
import static org.lineageos.setupwizard.SetupWizardApp.EXTRA_WIZARD_BUNDLE;
import static org.lineageos.setupwizard.SetupWizardApp.LOGV;
import android.annotation.Nullable;
@@ -37,15 +38,17 @@ public class SetupWizardActivity extends AppCompatActivity {
}
SetupWizardUtils.enableComponent(this, WizardManager.class);
Intent intent = new Intent(ACTION_LOAD);
Bundle wizardBundle = new Bundle();
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)) {
intent.putExtra(EXTRA_SCRIPT_URI, getString(
R.string.lineage_wizard_script_managed_profile_uri));
wizardBundle.putString(EXTRA_SCRIPT_URI,
getString(R.string.lineage_wizard_script_managed_profile_uri));
} else {
intent.putExtra(EXTRA_SCRIPT_URI,
wizardBundle.putString(EXTRA_SCRIPT_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.setPackage(getPackageName());
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_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_ACTION_ID = "actionId";
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 org.lineageos.setupwizard.SetupWizardApp.EXTRA_ACTION_ID;
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 android.annotation.NonNull;
@@ -58,9 +58,9 @@ public abstract class SubBaseActivity extends BaseSetupWizardActivity {
protected void startSubactivity(Intent subactivityIntent) {
Intent intent = getIntent();
if (intent.hasExtra(EXTRA_SCRIPT_URI)) {
subactivityIntent.putExtra(EXTRA_SCRIPT_URI, intent.getStringExtra(EXTRA_SCRIPT_URI));
subactivityIntent.putExtra(EXTRA_ACTION_ID, intent.getStringExtra(EXTRA_ACTION_ID));
Bundle wizardBundle = intent.getBundleExtra(EXTRA_WIZARD_BUNDLE);
if (wizardBundle.containsKey(EXTRA_SCRIPT_URI)) {
subactivityIntent.putExtra(EXTRA_WIZARD_BUNDLE, wizardBundle);
}
try {
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_RESULT_CODE;
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 android.annotation.Nullable;
@@ -44,8 +45,9 @@ public class WizardManager extends Activity {
if (intent != null) {
String action = intent.getAction();
int resultCode = intent.getIntExtra(EXTRA_RESULT_CODE, 0);
String scriptUri = intent.getStringExtra(EXTRA_SCRIPT_URI);
String actionId = intent.getStringExtra(EXTRA_ACTION_ID);
Bundle wizardBundle = intent.getBundleExtra(EXTRA_WIZARD_BUNDLE);
String scriptUri = wizardBundle.getString(EXTRA_SCRIPT_URI);
String actionId = wizardBundle.getString(EXTRA_ACTION_ID);
if (LOGV) {
Log.v(TAG, " action=" + action + " resultCode=" + resultCode + " scriptUri="
+ scriptUri + " actionId=" + actionId + " extras=" + intent.getExtras());
@@ -82,8 +84,10 @@ public class WizardManager extends Activity {
intent.putExtras(extras);
}
intent.putExtra(EXTRA_SCRIPT_URI, scriptUri);
intent.putExtra(EXTRA_ACTION_ID, action.getId());
Bundle wizardBundle = new Bundle();
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);
startActivity(intent);
}