Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f8d67892 authored by Yo Chiang's avatar Yo Chiang
Browse files

Fix VerificationActivity Intent

VerificationActivity crashes when the Intent sent to it doesn't have an
extras Bundle. This is because VerificationActivity copies the incoming
Intents extras Bundle with getExtras() / putExtras(Bundle), and
putExtras(Bundle) doesn't expect a null Bundle.

Bug: 145891687
Test: adb shell am start-activity \
  -n com.android.dynsystem/com.android.dynsystem.VerificationActivity \
  -a android.os.image.action.START_INSTALL \
  -d file:///storage/emulated/0/Download/aosp_arm64-dsu_test.zip

Test: Dynamic system service mustn't crash
Change-Id: I111641f366d50d739b922bcc3a52993c44212759
parent a975b9a9
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -84,7 +84,6 @@ public class VerificationActivity extends Activity {
        // retrieve data from calling intent
        Intent callingIntent = getIntent();
        Uri url = callingIntent.getData();
        Bundle extras = callingIntent.getExtras();

        if (url != null) {
            sVerifiedUrl = url.toString();
@@ -96,7 +95,7 @@ public class VerificationActivity extends Activity {
            intent.setData(url);
        }
        intent.setAction(DynamicSystemClient.ACTION_START_INSTALL);
        intent.putExtras(extras);
        intent.putExtras(callingIntent);

        Log.d(TAG, "Starting Installation Service");
        startServiceAsUser(intent, UserHandle.SYSTEM);