Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 513ae361 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android (Google) Code Review
Browse files

Merge "Fix issue #2560791: Expose API to go in to car mode." into froyo

parents 686f7911 9c9c532d
Loading
Loading
Loading
Loading
+13 −0
Original line number Original line Diff line number Diff line
@@ -25351,6 +25351,19 @@
<parameter name="flags" type="int">
<parameter name="flags" type="int">
</parameter>
</parameter>
</method>
</method>
<method name="enableCarMode"
 return="void"
 abstract="false"
 native="false"
 synchronized="false"
 static="false"
 final="false"
 deprecated="not deprecated"
 visibility="public"
>
<parameter name="flags" type="int">
</parameter>
</method>
<method name="getCurrentModeType"
<method name="getCurrentModeType"
 return="int"
 return="int"
 abstract="false"
 abstract="false"
+16 −0
Original line number Original line Diff line number Diff line
@@ -124,6 +124,22 @@ public class UiModeManager {
     */
     */
    public static final int DISABLE_CAR_MODE_GO_HOME = 0x0001;
    public static final int DISABLE_CAR_MODE_GO_HOME = 0x0001;
    
    
    /**
     * Force device into car mode, like it had been placed in the car dock.
     * This will cause the device to switch to the car home UI as part of
     * the mode switch.
     * @param flags Must be 0.
     */
    public void enableCarMode(int flags) {
        if (mService != null) {
            try {
                mService.enableCarMode();
            } catch (RemoteException e) {
                Log.e(TAG, "disableCarMode: RemoteException", e);
            }
        }
    }

    /**
    /**
     * Turn off special mode if currently in car mode.
     * Turn off special mode if currently in car mode.
     * @param flags May be 0 or {@link #DISABLE_CAR_MODE_GO_HOME}.
     * @param flags May be 0 or {@link #DISABLE_CAR_MODE_GO_HOME}.
+0 −8
Original line number Original line Diff line number Diff line
@@ -562,14 +562,6 @@
        android:label="@string/permlab_changeConfiguration"
        android:label="@string/permlab_changeConfiguration"
        android:description="@string/permdesc_changeConfiguration" />
        android:description="@string/permdesc_changeConfiguration" />


    <!-- Allows an application to enable the car mode.
         @hide -->
    <permission android:name="android.permission.ENABLE_CAR_MODE"
        android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
        android:protectionLevel="signature"
        android:label="@string/permlab_enableCarMode"
        android:description="@string/permdesc_enableCarMode" />

    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
    <!-- @deprecated The {@link android.app.ActivityManager#restartPackage}
        API is no longer supported. -->
        API is no longer supported. -->
    <permission android:name="android.permission.RESTART_PACKAGES"
    <permission android:name="android.permission.RESTART_PACKAGES"
+1 −6
Original line number Original line Diff line number Diff line
@@ -19,14 +19,12 @@ package com.android.server;
import android.app.Activity;
import android.app.Activity;
import android.app.ActivityManagerNative;
import android.app.ActivityManagerNative;
import android.app.AlarmManager;
import android.app.AlarmManager;
import android.app.IActivityManager;
import android.app.IUiModeManager;
import android.app.IUiModeManager;
import android.app.Notification;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.PendingIntent;
import android.app.StatusBarManager;
import android.app.StatusBarManager;
import android.app.UiModeManager;
import android.app.UiModeManager;
import android.content.ActivityNotFoundException;
import android.content.BroadcastReceiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Context;
import android.content.Intent;
import android.content.Intent;
@@ -310,9 +308,6 @@ class UiModeManagerService extends IUiModeManager.Stub {
    }
    }


    public void enableCarMode() {
    public void enableCarMode() {
        mContext.enforceCallingOrSelfPermission(
                android.Manifest.permission.ENABLE_CAR_MODE,
                "Need ENABLE_CAR_MODE permission");
        synchronized (mLock) {
        synchronized (mLock) {
            setCarModeLocked(true);
            setCarModeLocked(true);
            if (mSystemReady) {
            if (mSystemReady) {
@@ -394,7 +389,7 @@ class UiModeManagerService extends IUiModeManager.Stub {
        } else if (mDockState == Intent.EXTRA_DOCK_STATE_DESK) {
        } else if (mDockState == Intent.EXTRA_DOCK_STATE_DESK) {
            uiMode = Configuration.UI_MODE_TYPE_DESK;
            uiMode = Configuration.UI_MODE_TYPE_DESK;
        }
        }
        if (uiMode != 0) {
        if (mCarModeEnabled) {
            if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) {
            if (mNightMode == UiModeManager.MODE_NIGHT_AUTO) {
                updateTwilightLocked();
                updateTwilightLocked();
                uiMode |= mComputedNightMode ? Configuration.UI_MODE_NIGHT_YES
                uiMode |= mComputedNightMode ? Configuration.UI_MODE_NIGHT_YES