Merge "We don't need to wait to pin the camera app." into nyc-mr1-dev

This commit is contained in:
Jeff Sharkey
2016-08-04 17:51:18 +00:00
committed by Android (Google) Code Review

View File

@@ -17,26 +17,23 @@
package com.android.server; package com.android.server;
import android.content.Context; import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo; import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo; import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo; import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.content.Intent;
import android.util.EventLog;
import android.util.Slog;
import android.os.Binder; import android.os.Binder;
import android.os.Build; import android.os.Build;
import android.os.Handler; import android.os.Handler;
import android.os.Looper; import android.os.Looper;
import android.os.Message; import android.os.Message;
import android.os.Process; import android.os.UserHandle;
import android.provider.MediaStore; import android.provider.MediaStore;
import android.system.ErrnoException; import android.system.ErrnoException;
import android.system.Os; import android.system.Os;
import android.system.OsConstants; import android.system.OsConstants;
import android.system.StructStat; import android.system.StructStat;
import android.util.Slog;
import com.android.internal.app.ResolverActivity; import com.android.internal.app.ResolverActivity;
import com.android.internal.os.BackgroundThread; import com.android.internal.os.BackgroundThread;
@@ -44,12 +41,10 @@ import com.android.internal.os.BackgroundThread;
import dalvik.system.DexFile; import dalvik.system.DexFile;
import dalvik.system.VMRuntime; import dalvik.system.VMRuntime;
import java.util.ArrayList;
import java.util.List;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.util.ArrayList;
/** /**
* <p>PinnerService pins important files for key processes in memory.</p> * <p>PinnerService pins important files for key processes in memory.</p>
@@ -89,20 +84,10 @@ public final class PinnerService extends SystemService {
} }
mBinderService = new BinderService(); mBinderService = new BinderService();
publishBinderService("pinner", mBinderService); publishBinderService("pinner", mBinderService);
mPinnerHandler.sendMessage(
mPinnerHandler.obtainMessage(PinnerHandler.PIN_ONSTART_MSG));
}
/** mPinnerHandler.obtainMessage(PinnerHandler.PIN_ONSTART_MSG).sendToTarget();
* Pin camera on unlock. mPinnerHandler.obtainMessage(PinnerHandler.PIN_CAMERA_MSG, UserHandle.USER_SYSTEM, 0)
* We have to wait for unlock because the user's .sendToTarget();
* preference for camera is not available from PackageManager until after
* unlock
*/
@Override
public void onUnlockUser(int userHandle) {
mPinnerHandler.sendMessage(
mPinnerHandler.obtainMessage(PinnerHandler.PIN_CAMERA_MSG, userHandle, 0));
} }
/** /**
@@ -113,8 +98,7 @@ public final class PinnerService extends SystemService {
*/ */
@Override @Override
public void onSwitchUser(int userHandle) { public void onSwitchUser(int userHandle) {
mPinnerHandler.sendMessage( mPinnerHandler.obtainMessage(PinnerHandler.PIN_CAMERA_MSG, userHandle, 0).sendToTarget();
mPinnerHandler.obtainMessage(PinnerHandler.PIN_CAMERA_MSG, userHandle, 0));
} }
/** /**
@@ -194,8 +178,10 @@ public final class PinnerService extends SystemService {
// device without a fbe enabled, the _SECURE intent will never get set. // device without a fbe enabled, the _SECURE intent will never get set.
Intent cameraIntent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA); Intent cameraIntent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
PackageManager pm = mContext.getPackageManager(); PackageManager pm = mContext.getPackageManager();
ResolveInfo cameraResolveInfo = pm.resolveActivityAsUser( ResolveInfo cameraResolveInfo = pm.resolveActivityAsUser(cameraIntent,
cameraIntent, PackageManager.MATCH_DEFAULT_ONLY, userHandle); PackageManager.MATCH_DEFAULT_ONLY | PackageManager.MATCH_DIRECT_BOOT_AWARE
| PackageManager.MATCH_DIRECT_BOOT_UNAWARE,
userHandle);
if (cameraResolveInfo == null ) { if (cameraResolveInfo == null ) {
//this is not necessarily an error //this is not necessarily an error
if (DEBUG) { if (DEBUG) {