Loading packages/PackageInstaller/src/com/android/packageinstaller/UninstallerActivity.java 100755 → 100644 +11 −9 Original line number Original line Diff line number Diff line Loading @@ -51,6 +51,7 @@ import android.net.Uri; import android.os.Build; import android.os.Build; import android.os.Bundle; import android.os.Bundle; import android.os.IBinder; import android.os.IBinder; import android.os.Process; import android.os.RemoteException; import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserHandle; Loading @@ -63,8 +64,6 @@ import com.android.packageinstaller.television.ErrorFragment; import com.android.packageinstaller.television.UninstallAlertFragment; import com.android.packageinstaller.television.UninstallAlertFragment; import com.android.packageinstaller.television.UninstallAppProgress; import com.android.packageinstaller.television.UninstallAppProgress; import java.util.List; /* /* * This activity presents UI to uninstall an application. Usually launched with intent * This activity presents UI to uninstall an application. Usually launched with intent * Intent.ACTION_UNINSTALL_PKG_COMMAND and attribute * Intent.ACTION_UNINSTALL_PKG_COMMAND and attribute Loading Loading @@ -172,15 +171,18 @@ public class UninstallerActivity extends Activity { if (mDialogInfo.user == null) { if (mDialogInfo.user == null) { mDialogInfo.user = android.os.Process.myUserHandle(); mDialogInfo.user = android.os.Process.myUserHandle(); } else { } else { UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE); if (!mDialogInfo.user.equals(Process.myUserHandle())) { List<UserHandle> profiles = userManager.getUserProfiles(); UserManager userManager = getBaseContext().getSystemService(UserManager.class); if (!profiles.contains(mDialogInfo.user)) { final boolean isCurrentUserProfileOwner = Process.myUserHandle().equals( Log.e(TAG, "User " + android.os.Process.myUserHandle() + " can't request uninstall " userManager.getProfileParent(mDialogInfo.user)); if (!isCurrentUserProfileOwner) { Log.e(TAG, "User " + Process.myUserHandle() + " can't request uninstall " + "for user " + mDialogInfo.user); + "for user " + mDialogInfo.user); showUserIsNotAllowed(); showUserIsNotAllowed(); return; return; } } } } } mDialogInfo.callback = intent.getIBinderExtra(PackageInstaller.EXTRA_CALLBACK); mDialogInfo.callback = intent.getIBinderExtra(PackageInstaller.EXTRA_CALLBACK); Loading Loading
packages/PackageInstaller/src/com/android/packageinstaller/UninstallerActivity.java 100755 → 100644 +11 −9 Original line number Original line Diff line number Diff line Loading @@ -51,6 +51,7 @@ import android.net.Uri; import android.os.Build; import android.os.Build; import android.os.Bundle; import android.os.Bundle; import android.os.IBinder; import android.os.IBinder; import android.os.Process; import android.os.RemoteException; import android.os.RemoteException; import android.os.ServiceManager; import android.os.ServiceManager; import android.os.UserHandle; import android.os.UserHandle; Loading @@ -63,8 +64,6 @@ import com.android.packageinstaller.television.ErrorFragment; import com.android.packageinstaller.television.UninstallAlertFragment; import com.android.packageinstaller.television.UninstallAlertFragment; import com.android.packageinstaller.television.UninstallAppProgress; import com.android.packageinstaller.television.UninstallAppProgress; import java.util.List; /* /* * This activity presents UI to uninstall an application. Usually launched with intent * This activity presents UI to uninstall an application. Usually launched with intent * Intent.ACTION_UNINSTALL_PKG_COMMAND and attribute * Intent.ACTION_UNINSTALL_PKG_COMMAND and attribute Loading Loading @@ -172,15 +171,18 @@ public class UninstallerActivity extends Activity { if (mDialogInfo.user == null) { if (mDialogInfo.user == null) { mDialogInfo.user = android.os.Process.myUserHandle(); mDialogInfo.user = android.os.Process.myUserHandle(); } else { } else { UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE); if (!mDialogInfo.user.equals(Process.myUserHandle())) { List<UserHandle> profiles = userManager.getUserProfiles(); UserManager userManager = getBaseContext().getSystemService(UserManager.class); if (!profiles.contains(mDialogInfo.user)) { final boolean isCurrentUserProfileOwner = Process.myUserHandle().equals( Log.e(TAG, "User " + android.os.Process.myUserHandle() + " can't request uninstall " userManager.getProfileParent(mDialogInfo.user)); if (!isCurrentUserProfileOwner) { Log.e(TAG, "User " + Process.myUserHandle() + " can't request uninstall " + "for user " + mDialogInfo.user); + "for user " + mDialogInfo.user); showUserIsNotAllowed(); showUserIsNotAllowed(); return; return; } } } } } mDialogInfo.callback = intent.getIBinderExtra(PackageInstaller.EXTRA_CALLBACK); mDialogInfo.callback = intent.getIBinderExtra(PackageInstaller.EXTRA_CALLBACK); Loading