Merge "Skip indexing content while user is locked." into nyc-dev am: c416433a9e

am: 4061fd1ddd

* commit '4061fd1ddd10cb689ae40ef62dd2544093f264fa':
  Skip indexing content while user is locked.

Change-Id: I3a6889d91de679709918a3a9367e8e4054a809a9
This commit is contained in:
Jeff Sharkey
2016-05-25 18:42:42 +00:00
committed by android-build-merger

View File

@@ -34,10 +34,12 @@ import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.os.UserHandle; import android.os.UserHandle;
import android.os.UserManager;
import android.print.PrintManager; import android.print.PrintManager;
import android.print.PrintServicesLoader; import android.print.PrintServicesLoader;
import android.printservice.PrintServiceInfo; import android.printservice.PrintServiceInfo;
import android.provider.UserDictionary; import android.provider.UserDictionary;
import android.util.Log;
import android.view.accessibility.AccessibilityManager; import android.view.accessibility.AccessibilityManager;
import android.view.inputmethod.InputMethodInfo; import android.view.inputmethod.InputMethodInfo;
import android.view.inputmethod.InputMethodManager; import android.view.inputmethod.InputMethodManager;
@@ -53,6 +55,7 @@ import java.util.List;
public final class DynamicIndexableContentMonitor extends PackageMonitor implements public final class DynamicIndexableContentMonitor extends PackageMonitor implements
InputManager.InputDeviceListener, InputManager.InputDeviceListener,
LoaderManager.LoaderCallbacks<List<PrintServiceInfo>> { LoaderManager.LoaderCallbacks<List<PrintServiceInfo>> {
private static final String TAG = "DynamicIndexableContentMonitor";
private static final long DELAY_PROCESS_PACKAGE_CHANGE = 2000; private static final long DELAY_PROCESS_PACKAGE_CHANGE = 2000;
@@ -84,6 +87,7 @@ public final class DynamicIndexableContentMonitor extends PackageMonitor impleme
private Context mContext; private Context mContext;
private boolean mHasFeatureIme; private boolean mHasFeatureIme;
private boolean mRegistered;
private static Intent getAccessibilityServiceIntent(String packageName) { private static Intent getAccessibilityServiceIntent(String packageName) {
final Intent intent = new Intent(AccessibilityService.SERVICE_INTERFACE); final Intent intent = new Intent(AccessibilityService.SERVICE_INTERFACE);
@@ -100,6 +104,14 @@ public final class DynamicIndexableContentMonitor extends PackageMonitor impleme
public void register(Activity activity, int loaderId) { public void register(Activity activity, int loaderId) {
mContext = activity; mContext = activity;
if (!mContext.getSystemService(UserManager.class).isUserUnlocked()) {
Log.w(TAG, "Skipping content monitoring because user is locked");
mRegistered = false;
return;
} else {
mRegistered = true;
}
boolean hasFeaturePrinting = mContext.getPackageManager().hasSystemFeature( boolean hasFeaturePrinting = mContext.getPackageManager().hasSystemFeature(
PackageManager.FEATURE_PRINTING); PackageManager.FEATURE_PRINTING);
mHasFeatureIme = mContext.getPackageManager().hasSystemFeature( mHasFeatureIme = mContext.getPackageManager().hasSystemFeature(
@@ -151,7 +163,10 @@ public final class DynamicIndexableContentMonitor extends PackageMonitor impleme
register(activity, Looper.getMainLooper(), UserHandle.CURRENT, false); register(activity, Looper.getMainLooper(), UserHandle.CURRENT, false);
} }
@Override
public void unregister() { public void unregister() {
if (!mRegistered) return;
super.unregister(); super.unregister();
InputManager inputManager = (InputManager) mContext.getSystemService( InputManager inputManager = (InputManager) mContext.getSystemService(