Merge "Correct picture-in-picture setting behavior for managed profile."

This commit is contained in:
Tracy Zhou
2018-02-23 03:13:00 +00:00
committed by Android (Google) Code Review
4 changed files with 72 additions and 25 deletions

View File

@@ -128,23 +128,27 @@ public abstract class AppInfoBase extends SettingsPreferenceFragment
protected String retrieveAppEntry() {
final Bundle args = getArguments();
mPackageName = (args != null) ? args.getString(ARG_PACKAGE_NAME) : null;
Intent intent = (args == null) ?
getIntent() : (Intent) args.getParcelable("intent");
if (mPackageName == null) {
Intent intent = (args == null) ?
getActivity().getIntent() : (Intent) args.getParcelable("intent");
if (intent != null && intent.getData() != null) {
mPackageName = intent.getData().getSchemeSpecificPart();
}
}
mUserId = UserHandle.myUserId();
if (intent != null && intent.hasExtra(Intent.EXTRA_USER_HANDLE)) {
mUserId = ((UserHandle) intent.getParcelableExtra(
Intent.EXTRA_USER_HANDLE)).getIdentifier();
} else {
mUserId = UserHandle.myUserId();
}
mAppEntry = mState.getEntry(mPackageName, mUserId);
if (mAppEntry != null) {
// Get application info again to refresh changed properties of application
try {
mPackageInfo = mPm.getPackageInfo(mAppEntry.info.packageName,
mPackageInfo = mPm.getPackageInfoAsUser(mAppEntry.info.packageName,
PackageManager.MATCH_DISABLED_COMPONENTS |
PackageManager.MATCH_ANY_USER |
PackageManager.GET_SIGNATURES |
PackageManager.GET_PERMISSIONS);
PackageManager.GET_SIGNING_CERTIFICATES |
PackageManager.GET_PERMISSIONS, mUserId);
} catch (NameNotFoundException e) {
Log.e(TAG, "Exception when retrieving package:" + mAppEntry.info.packageName, e);
}

View File

@@ -20,7 +20,6 @@ import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.UserHandle;
import android.os.UserManager;
import android.support.annotation.VisibleForTesting;
import android.support.v7.preference.Preference;
import android.util.Log;
@@ -44,9 +43,6 @@ public class PictureInPictureDetailPreferenceController extends AppInfoPreferenc
@Override
public int getAvailabilityStatus() {
if (UserManager.get(mContext).isManagedProfile()) {
return DISABLED_FOR_USER;
}
return hasPictureInPictureActivites() ? AVAILABLE : DISABLED_FOR_USER;
}