diff options
author | 2016-04-03 03:59:21 +0000 | |
---|---|---|
committer | 2016-04-03 03:59:23 +0000 | |
commit | 7d718bb252fe2bdee0c9c728a1e6e4892deb8ac7 (patch) | |
tree | fba1a1539429a43b0d7856d774517862fd90c778 | |
parent | 1bb269d8fe9adbf41312e2203e08da34634ae863 (diff) | |
parent | b5e89c6debca90be92bf5bc2e0e79d109de6d08f (diff) |
Merge "Support direct-boot tests." into nyc-dev
7 files changed, 41 insertions, 21 deletions
diff --git a/cmds/sm/src/com/android/commands/sm/Sm.java b/cmds/sm/src/com/android/commands/sm/Sm.java index b208e438f171..0e674c864137 100644 --- a/cmds/sm/src/com/android/commands/sm/Sm.java +++ b/cmds/sm/src/com/android/commands/sm/Sm.java @@ -88,6 +88,8 @@ public final class Sm { runForget(); } else if ("set-emulate-fbe".equals(op)) { runSetEmulateFbe(); + } else if ("get-fbe-mode".equals(op)) { + runGetFbeMode(); } else { throw new IllegalArgumentException(); } @@ -145,6 +147,16 @@ public final class Sm { StorageManager.DEBUG_EMULATE_FBE); } + public void runGetFbeMode() { + if (StorageManager.isFileEncryptedNativeOnly()) { + System.out.println("native"); + } else if (StorageManager.isFileEncryptedEmulatedOnly()) { + System.out.println("emulated"); + } else { + System.out.println("none"); + } + } + public void runPartition() throws RemoteException { final String diskId = nextArg(); final String type = nextArg(); diff --git a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java index 4019a56133b4..ee03280578e5 100644 --- a/core/java/android/accessibilityservice/AccessibilityServiceInfo.java +++ b/core/java/android/accessibilityservice/AccessibilityServiceInfo.java @@ -36,11 +36,11 @@ import android.view.View; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.AccessibilityNodeInfo; +import com.android.internal.R; + import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; -import com.android.internal.R; - import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -319,6 +319,9 @@ public class AccessibilityServiceInfo implements Parcelable { */ public static final int FLAG_RETRIEVE_INTERACTIVE_WINDOWS = 0x00000040; + /** {@hide} */ + public static final int FLAG_FORCE_DIRECT_BOOT_AWARE = 0x00010000; + /** * The event types an {@link AccessibilityService} is interested in. * <p> @@ -687,8 +690,9 @@ public class AccessibilityServiceInfo implements Parcelable { } /** {@hide} */ - public boolean isEncryptionAware() { - return mResolveInfo.serviceInfo.directBootAware; + public boolean isDirectBootAware() { + return ((flags & FLAG_FORCE_DIRECT_BOOT_AWARE) != 0) + || mResolveInfo.serviceInfo.directBootAware; } /** diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index 336218522c77..65d48e609618 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -95,7 +95,7 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM } return sSystemReady; } - static boolean sSystemReady = false; + static volatile boolean sSystemReady = false; static public void broadcastStickyIntent(Intent intent, String permission, int userId) { broadcastStickyIntent(intent, permission, AppOpsManager.OP_NONE, userId); diff --git a/core/java/android/app/UiAutomationConnection.java b/core/java/android/app/UiAutomationConnection.java index 276f774a8f4e..2c1ee8e13624 100644 --- a/core/java/android/app/UiAutomationConnection.java +++ b/core/java/android/app/UiAutomationConnection.java @@ -36,6 +36,7 @@ import android.view.WindowAnimationFrameStats; import android.view.WindowContentFrameStats; import android.view.accessibility.AccessibilityEvent; import android.view.accessibility.IAccessibilityManager; + import libcore.io.IoUtils; import java.io.FileOutputStream; @@ -77,6 +78,7 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { private int mOwningUid; + @Override public void connect(IAccessibilityServiceClient client, int flags) { if (client == null) { throw new IllegalArgumentException("Client cannot be null!"); @@ -326,11 +328,12 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { int flags) { IAccessibilityManager manager = IAccessibilityManager.Stub.asInterface( ServiceManager.getService(Context.ACCESSIBILITY_SERVICE)); - AccessibilityServiceInfo info = new AccessibilityServiceInfo(); + final AccessibilityServiceInfo info = new AccessibilityServiceInfo(); info.eventTypes = AccessibilityEvent.TYPES_ALL_MASK; info.feedbackType = AccessibilityServiceInfo.FEEDBACK_GENERIC; info.flags |= AccessibilityServiceInfo.FLAG_INCLUDE_NOT_IMPORTANT_VIEWS - | AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS; + | AccessibilityServiceInfo.FLAG_REPORT_VIEW_IDS + | AccessibilityServiceInfo.FLAG_FORCE_DIRECT_BOOT_AWARE; info.setCapabilities(AccessibilityServiceInfo.CAPABILITY_CAN_RETRIEVE_WINDOW_CONTENT | AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_TOUCH_EXPLORATION | AccessibilityServiceInfo.CAPABILITY_CAN_REQUEST_ENHANCED_WEB_ACCESSIBILITY diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 4b96e7a31ccf..a5798e2d99ae 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -1262,7 +1262,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { Service service = componentNameToServiceMap.get(componentName); // Ignore non-encryption-aware services until user is unlocked - if (!isUnlocked && !installedService.isEncryptionAware()) { + if (!isUnlocked && !installedService.isDirectBootAware()) { Slog.d(LOG_TAG, "Ignoring non-encryption-aware service " + componentName); continue; } diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index ef0577327596..1da6a2095f2f 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -1105,19 +1105,19 @@ public final class ActivityManagerService extends ActivityManagerNative ComponentName mTopComponent; String mTopAction = Intent.ACTION_MAIN; String mTopData; - boolean mProcessesReady = false; - boolean mSystemReady = false; - boolean mBooting = false; - boolean mCallFinishBooting = false; - boolean mBootAnimationComplete = false; - boolean mOnBattery = false; - boolean mLaunchWarningShown = false; - Context mContext; + volatile boolean mProcessesReady = false; + volatile boolean mSystemReady = false; + volatile boolean mOnBattery = false; + volatile int mFactoryTest; - int mFactoryTest; + @GuardedBy("this") boolean mBooting = false; + @GuardedBy("this") boolean mCallFinishBooting = false; + @GuardedBy("this") boolean mBootAnimationComplete = false; + @GuardedBy("this") boolean mLaunchWarningShown = false; + @GuardedBy("this") boolean mCheckedForSetup = false; - boolean mCheckedForSetup; + Context mContext; /** * The time at which we will allow normal application switches again, diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index ff5a0f967b54..757096016329 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -538,7 +538,10 @@ public final class PowerManagerService extends SystemService @Override public void onBootPhase(int phase) { synchronized (mLock) { - if (phase == PHASE_BOOT_COMPLETED) { + if (phase == PHASE_THIRD_PARTY_APPS_CAN_START) { + incrementBootCount(); + + } else if (phase == PHASE_BOOT_COMPLETED) { final long now = SystemClock.uptimeMillis(); mBootCompleted = true; mDirty |= DIRTY_BOOT_COMPLETED; @@ -553,8 +556,6 @@ public final class PowerManagerService extends SystemService } } mBootCompletedRunnables = null; - - incrementBootCount(); } } } |