Loading core/java/com/android/internal/app/AppPredictionServiceResolverComparator.java +10 −11 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; import android.os.Handler; import android.os.Message; import android.os.UserHandle; import android.util.Log; Loading @@ -37,6 +36,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.Executors; /** * Uses an {@link AppPredictor} to sort Resolver targets. If the AppPredictionService appears to be Loading @@ -46,7 +46,7 @@ import java.util.Map; class AppPredictionServiceResolverComparator extends AbstractResolverComparator { private static final String TAG = "APSResolverComparator"; private static final long DELAY_COMPUTE_WHEN_DEFAULTING_TO_RESOLVER_MILLIS = 200; private static final boolean DEBUG = false; private final AppPredictor mAppPredictor; private final Context mContext; Loading Loading @@ -103,23 +103,22 @@ class AppPredictionServiceResolverComparator extends AbstractResolverComparator .setTarget(target.name.getPackageName(), mUser) .setClassName(target.name.getClassName()).build()); } mAppPredictor.sortTargets(appTargets, mContext.getMainExecutor(), mAppPredictor.sortTargets(appTargets, Executors.newSingleThreadExecutor(), sortedAppTargets -> { if (sortedAppTargets.isEmpty()) { if (DEBUG) { Log.d(TAG, "AppPredictionService disabled. Using resolver."); } // APS for chooser is disabled. Fallback to resolver. mResolverRankerService = new ResolverRankerServiceResolverComparator( mContext, mIntent, mReferrerPackage, () -> mHandler.sendEmptyMessage(RANKER_SERVICE_RESULT)); mResolverRankerService.initRanker(mContext); Handler computeHandler = new Handler(msg -> { mResolverRankerService.compute(targets); return true; }); computeHandler.sendEmptyMessageDelayed( 0, DELAY_COMPUTE_WHEN_DEFAULTING_TO_RESOLVER_MILLIS); } else { if (DEBUG) { Log.d(TAG, "AppPredictionService response received"); } Message msg = Message.obtain(mHandler, RANKER_SERVICE_RESULT, sortedAppTargets); msg.sendToTarget(); Loading core/java/com/android/internal/app/ResolverRankerServiceResolverComparator.java +1 −1 Original line number Diff line number Diff line Loading @@ -315,7 +315,7 @@ class ResolverRankerServiceResolverComparator extends AbstractResolverComparator } // connect to a ranking service. void initRanker(Context context) { private void initRanker(Context context) { synchronized (mLock) { if (mConnection != null && mRanker != null) { if (DEBUG) { Loading Loading
core/java/com/android/internal/app/AppPredictionServiceResolverComparator.java +10 −11 Original line number Diff line number Diff line Loading @@ -26,7 +26,6 @@ import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.pm.ResolveInfo; import android.os.Handler; import android.os.Message; import android.os.UserHandle; import android.util.Log; Loading @@ -37,6 +36,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.concurrent.Executors; /** * Uses an {@link AppPredictor} to sort Resolver targets. If the AppPredictionService appears to be Loading @@ -46,7 +46,7 @@ import java.util.Map; class AppPredictionServiceResolverComparator extends AbstractResolverComparator { private static final String TAG = "APSResolverComparator"; private static final long DELAY_COMPUTE_WHEN_DEFAULTING_TO_RESOLVER_MILLIS = 200; private static final boolean DEBUG = false; private final AppPredictor mAppPredictor; private final Context mContext; Loading Loading @@ -103,23 +103,22 @@ class AppPredictionServiceResolverComparator extends AbstractResolverComparator .setTarget(target.name.getPackageName(), mUser) .setClassName(target.name.getClassName()).build()); } mAppPredictor.sortTargets(appTargets, mContext.getMainExecutor(), mAppPredictor.sortTargets(appTargets, Executors.newSingleThreadExecutor(), sortedAppTargets -> { if (sortedAppTargets.isEmpty()) { if (DEBUG) { Log.d(TAG, "AppPredictionService disabled. Using resolver."); } // APS for chooser is disabled. Fallback to resolver. mResolverRankerService = new ResolverRankerServiceResolverComparator( mContext, mIntent, mReferrerPackage, () -> mHandler.sendEmptyMessage(RANKER_SERVICE_RESULT)); mResolverRankerService.initRanker(mContext); Handler computeHandler = new Handler(msg -> { mResolverRankerService.compute(targets); return true; }); computeHandler.sendEmptyMessageDelayed( 0, DELAY_COMPUTE_WHEN_DEFAULTING_TO_RESOLVER_MILLIS); } else { if (DEBUG) { Log.d(TAG, "AppPredictionService response received"); } Message msg = Message.obtain(mHandler, RANKER_SERVICE_RESULT, sortedAppTargets); msg.sendToTarget(); Loading
core/java/com/android/internal/app/ResolverRankerServiceResolverComparator.java +1 −1 Original line number Diff line number Diff line Loading @@ -315,7 +315,7 @@ class ResolverRankerServiceResolverComparator extends AbstractResolverComparator } // connect to a ranking service. void initRanker(Context context) { private void initRanker(Context context) { synchronized (mLock) { if (mConnection != null && mRanker != null) { if (DEBUG) { Loading