From a2e77a0e850544ef42304ea0ed6d9bed1d76c5c9 Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Wed, 12 Feb 2020 13:15:46 +0800 Subject: [PATCH] Fix no action in Settings storage - Pass wrong user id in view holder Fixes: 149028747 Test: 1. Add new user, and change th new user 2. Take a camera shot under the new user 3. go to Settings -> Storage -> photo & video -> Image 4. Should open file brower Change-Id: I0af532748ec19f62897911b1bb6ece9b21b844c3 --- .../ManageApplications.java | 2 +- .../StorageItemPreferenceController.java | 21 +------------------ 2 files changed, 2 insertions(+), 21 deletions(-) diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java index 0f7a8c259eb..eb6515ed87a 100644 --- a/src/com/android/settings/applications/manageapplications/ManageApplications.java +++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java @@ -410,7 +410,7 @@ public class ManageApplications extends InstrumentedFragment mApplications.mHasReceivedBridgeCallback = savedInstanceState.getBoolean(EXTRA_HAS_BRIDGE, false); } - int userId = mIsWorkOnly ? mWorkUserId : UserHandle.getUserId(mCurrentUid); + int userId = mIsWorkOnly ? mWorkUserId : UserHandle.myUserId(); if (mStorageType == STORAGE_TYPE_MUSIC) { Context context = getContext(); mApplications.setExtraViewController( diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java index f87ff33f865..c2a0b626196 100644 --- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java +++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java @@ -20,7 +20,6 @@ import static com.android.settings.dashboard.profileselector.ProfileSelectFragme import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.WORK_TAB; import android.app.settings.SettingsEnums; -import android.content.ActivityNotFoundException; import android.content.Context; import android.content.Intent; import android.content.res.TypedArray; @@ -173,7 +172,7 @@ public class StorageItemPreferenceController extends AbstractPreferenceControlle if (intent != null) { intent.putExtra(Intent.EXTRA_USER_ID, mUserId); - launchIntent(intent); + Utils.launchIntent(mFragment, intent); return true; } @@ -467,24 +466,6 @@ public class StorageItemPreferenceController extends AbstractPreferenceControlle } } - private void launchIntent(Intent intent) { - try { - final int userId = intent.getIntExtra(Intent.EXTRA_USER_ID, -1); - - // b/33117269: Note that launchIntent may launch activity in different task which set - // different launchMode (e.g. Files), using startActivityForesult to set task as - // source task, and set requestCode as 0 means don't care about returnCode currently. - if (userId == -1) { - mFragment.startActivityForResult(intent, 0 /* requestCode not used */); - } else { - mFragment.getActivity().startActivityForResultAsUser(intent, - 0 /* requestCode not used */, new UserHandle(userId)); - } - } catch (ActivityNotFoundException e) { - Log.w(TAG, "No activity found for " + intent); - } - } - private static long totalValues(StorageMeasurement.MeasurementDetails details, int userId, String... keys) { long total = 0;