Snap for 8564071 from 3942474afb72928cd9300385d6b63c8b56268290 to mainline-permission-release

Change-Id: I96b1e55ab9d87e82a63997406e276f5d30b79d66
diff --git a/Android.bp b/Android.bp
index 73bbeb3..9b5ebe9 100644
--- a/Android.bp
+++ b/Android.bp
@@ -12,13 +12,17 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
 android_app {
     name: "CarLatinIME",
     srcs: ["src/**/*.java"],
     resource_dirs: ["res"],
     certificate: "shared",
     overrides: ["LatinIME"],
-    libs: ["android.car"],
+    libs: ["android.car-system-stubs"],
     static_libs: [
         "android-common",
         "jsr305",
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 24a5f4d..ed79f38 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -15,26 +15,29 @@
 -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-        coreApp="true"
-        package="com.android.inputmethod.latin">
+     coreApp="true"
+     package="com.android.inputmethod.latin">
 
-    <uses-sdk android:minSdkVersion="22" android:targetSdkVersion="23" />
+    <uses-sdk android:minSdkVersion="22"
+         android:targetSdkVersion="23"/>
 
     <application android:label="@string/english_ime_name"
-            android:icon="@drawable/ic_launcher_keyboard"
-            android:supportsRtl="true"
-            android:allowBackup="true"
-            android:directBootAware="true"
-            android:theme="@android:style/Theme.DeviceDefault.InputMethod">
+         android:icon="@drawable/ic_launcher_keyboard"
+         android:supportsRtl="true"
+         android:allowBackup="true"
+         android:directBootAware="true"
+         android:theme="@android:style/Theme.DeviceDefault.InputMethod">
 
         <!-- Services -->
         <service android:name="CarLatinIME"
-                android:label="@string/english_ime_name"
-                android:permission="android.permission.BIND_INPUT_METHOD">
+             android:label="@string/english_ime_name"
+             android:permission="android.permission.BIND_INPUT_METHOD"
+             android:exported="true">
             <intent-filter>
-                <action android:name="android.view.InputMethod" />
+                <action android:name="android.view.InputMethod"/>
             </intent-filter>
-            <meta-data android:name="android.view.im" android:resource="@xml/method" />
+            <meta-data android:name="android.view.im"
+                 android:resource="@xml/method"/>
         </service>
     </application>
 </manifest>
diff --git a/src/com/android/inputmethod/latin/CarLatinIME.java b/src/com/android/inputmethod/latin/CarLatinIME.java
index a8d24c4..b3f8135 100644
--- a/src/com/android/inputmethod/latin/CarLatinIME.java
+++ b/src/com/android/inputmethod/latin/CarLatinIME.java
@@ -296,7 +296,7 @@
                             //loadKeyboard(ALPHA_LAYOUT_XML);
                             break;
                         case KEYCODE_CLOSE_KEYBOARD:
-                            hideWindow();
+                            requestHideSelf(0);
                             break;
                         case KEYCODE_CYCLE_CHAR:
                             CharSequence text = inputConnection.getTextBeforeCursor(1, 0);
@@ -387,7 +387,7 @@
 
                 @Override
                 public void stopInput() {
-                    hideWindow();
+                    requestHideSelf(0);
                 }
             };
 
@@ -437,7 +437,7 @@
 
                 @Override
                 public void stopInput() {
-                    hideWindow();
+                    requestHideSelf(0);
                 }
             };