Loading core/java/com/android/internal/app/ResolverActivity.java +3 −33 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import android.annotation.StringRes; import android.annotation.UiThread; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityTaskManager; import android.app.ActivityThread; import android.app.VoiceInteractor.PickOptionRequest; import android.app.VoiceInteractor.PickOptionRequest.Option; Loading @@ -54,13 +53,11 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.content.pm.UserInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Insets; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.os.PatternMatcher; import android.os.RemoteException; import android.os.StrictMode; Loading Loading @@ -1464,36 +1461,9 @@ public class ResolverActivity extends Activity implements public boolean startAsCallerImpl(Intent intent, Bundle options, boolean ignoreTargetSecurity, int userId) { // Pass intent to delegate chooser activity with permission token. // TODO: This should move to a trampoline Activity in the system when the ChooserActivity // moves into systemui try { // TODO: Once this is a small springboard activity, it can move off the UI process // and we can move the request method to ActivityManagerInternal. final Intent chooserIntent = new Intent(); final ComponentName delegateActivity = ComponentName.unflattenFromString( Resources.getSystem().getString(R.string.config_chooserActivity)); IBinder permissionToken = ActivityTaskManager.getService() .requestStartActivityPermissionToken(delegateActivity); chooserIntent.setClassName(delegateActivity.getPackageName(), delegateActivity.getClassName()); chooserIntent.putExtra(ActivityTaskManager.EXTRA_PERMISSION_TOKEN, permissionToken); // TODO: These extras will change as chooser activity moves into systemui chooserIntent.putExtra(Intent.EXTRA_INTENT, intent); chooserIntent.putExtra(ActivityTaskManager.EXTRA_OPTIONS, options); chooserIntent.putExtra(ActivityTaskManager.EXTRA_IGNORE_TARGET_SECURITY, ignoreTargetSecurity); chooserIntent.putExtra(Intent.EXTRA_USER_ID, userId); chooserIntent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP); // Don't close until the delegate finishes, or the token will be invalidated. mAwaitingDelegateResponse = true; startActivityForResult(chooserIntent, REQUEST_CODE_RETURN_FROM_DELEGATE_CHOOSER); } catch (RemoteException e) { Log.e(TAG, e.toString()); } // Note: this method will be overridden in the delegate implementation to use the passed-in // permission token. startActivityAsCaller(intent, options, null, false, userId); return true; } Loading core/java/com/android/internal/app/chooser/DisplayResolveInfo.java +3 −13 Original line number Diff line number Diff line Loading @@ -30,11 +30,9 @@ import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.os.UserHandle; import android.provider.DeviceConfig; import com.android.internal.app.ResolverActivity; import com.android.internal.app.ResolverListAdapter.ResolveInfoPresentationGetter; import com.android.internal.config.sysui.SystemUiDeviceConfigFlags; import java.util.ArrayList; import java.util.Arrays; Loading @@ -45,11 +43,6 @@ import java.util.List; * resolve it to an activity. */ public class DisplayResolveInfo implements TargetInfo, Parcelable { private final boolean mEnableChooserDelegate = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, SystemUiDeviceConfigFlags.USE_DELEGATE_CHOOSER, false); private final ResolveInfo mResolveInfo; private CharSequence mDisplayLabel; private Drawable mDisplayIcon; Loading Loading @@ -180,12 +173,9 @@ public class DisplayResolveInfo implements TargetInfo, Parcelable { @Override public boolean startAsCaller(ResolverActivity activity, Bundle options, int userId) { if (mEnableChooserDelegate) { // TODO: if the start-as-caller API no longer requires a permission token, this can go back // to inlining the real activity-start call, and we can remove startAsCallerImpl. return activity.startAsCallerImpl(mResolvedIntent, options, false, userId); } else { activity.startActivityAsCaller(mResolvedIntent, options, null, false, userId); return true; } } @Override Loading Loading
core/java/com/android/internal/app/ResolverActivity.java +3 −33 Original line number Diff line number Diff line Loading @@ -33,7 +33,6 @@ import android.annotation.StringRes; import android.annotation.UiThread; import android.app.Activity; import android.app.ActivityManager; import android.app.ActivityTaskManager; import android.app.ActivityThread; import android.app.VoiceInteractor.PickOptionRequest; import android.app.VoiceInteractor.PickOptionRequest.Option; Loading @@ -54,13 +53,11 @@ import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; import android.content.pm.UserInfo; import android.content.res.Configuration; import android.content.res.Resources; import android.content.res.TypedArray; import android.graphics.Insets; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.os.PatternMatcher; import android.os.RemoteException; import android.os.StrictMode; Loading Loading @@ -1464,36 +1461,9 @@ public class ResolverActivity extends Activity implements public boolean startAsCallerImpl(Intent intent, Bundle options, boolean ignoreTargetSecurity, int userId) { // Pass intent to delegate chooser activity with permission token. // TODO: This should move to a trampoline Activity in the system when the ChooserActivity // moves into systemui try { // TODO: Once this is a small springboard activity, it can move off the UI process // and we can move the request method to ActivityManagerInternal. final Intent chooserIntent = new Intent(); final ComponentName delegateActivity = ComponentName.unflattenFromString( Resources.getSystem().getString(R.string.config_chooserActivity)); IBinder permissionToken = ActivityTaskManager.getService() .requestStartActivityPermissionToken(delegateActivity); chooserIntent.setClassName(delegateActivity.getPackageName(), delegateActivity.getClassName()); chooserIntent.putExtra(ActivityTaskManager.EXTRA_PERMISSION_TOKEN, permissionToken); // TODO: These extras will change as chooser activity moves into systemui chooserIntent.putExtra(Intent.EXTRA_INTENT, intent); chooserIntent.putExtra(ActivityTaskManager.EXTRA_OPTIONS, options); chooserIntent.putExtra(ActivityTaskManager.EXTRA_IGNORE_TARGET_SECURITY, ignoreTargetSecurity); chooserIntent.putExtra(Intent.EXTRA_USER_ID, userId); chooserIntent.addFlags(Intent.FLAG_ACTIVITY_PREVIOUS_IS_TOP); // Don't close until the delegate finishes, or the token will be invalidated. mAwaitingDelegateResponse = true; startActivityForResult(chooserIntent, REQUEST_CODE_RETURN_FROM_DELEGATE_CHOOSER); } catch (RemoteException e) { Log.e(TAG, e.toString()); } // Note: this method will be overridden in the delegate implementation to use the passed-in // permission token. startActivityAsCaller(intent, options, null, false, userId); return true; } Loading
core/java/com/android/internal/app/chooser/DisplayResolveInfo.java +3 −13 Original line number Diff line number Diff line Loading @@ -30,11 +30,9 @@ import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; import android.os.UserHandle; import android.provider.DeviceConfig; import com.android.internal.app.ResolverActivity; import com.android.internal.app.ResolverListAdapter.ResolveInfoPresentationGetter; import com.android.internal.config.sysui.SystemUiDeviceConfigFlags; import java.util.ArrayList; import java.util.Arrays; Loading @@ -45,11 +43,6 @@ import java.util.List; * resolve it to an activity. */ public class DisplayResolveInfo implements TargetInfo, Parcelable { private final boolean mEnableChooserDelegate = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI, SystemUiDeviceConfigFlags.USE_DELEGATE_CHOOSER, false); private final ResolveInfo mResolveInfo; private CharSequence mDisplayLabel; private Drawable mDisplayIcon; Loading Loading @@ -180,12 +173,9 @@ public class DisplayResolveInfo implements TargetInfo, Parcelable { @Override public boolean startAsCaller(ResolverActivity activity, Bundle options, int userId) { if (mEnableChooserDelegate) { // TODO: if the start-as-caller API no longer requires a permission token, this can go back // to inlining the real activity-start call, and we can remove startAsCallerImpl. return activity.startAsCallerImpl(mResolvedIntent, options, false, userId); } else { activity.startActivityAsCaller(mResolvedIntent, options, null, false, userId); return true; } } @Override Loading