release-request-70e541de-d91e-4004-8c17-3147135eff42-for-git_oc-dr1-release-3993143 snap-temp-L23100000062404817

Change-Id: I6222ca72799110bbf5fee6fb483914bf979ad325
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 118b4b0..70dde76 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -44,7 +44,7 @@
             android:noHistory="true" />
 
         <activity android:name=".LensPickerTrampolineActivity"
-            android:theme="@android:style/Theme.NoDisplay"
+            android:theme="@style/Theme.FloatingLensPicker"
             android:label="LensPickerTrampolineActivity"
             android:resizeableActivity="true"
             android:excludeFromRecents="true"
@@ -56,12 +56,5 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
         </activity>
-
-        <receiver android:name="PackageChangeReceiver">
-            <intent-filter>
-                <action android:name="android.intent.action.PACKAGE_ADDED" />
-                <data android:scheme="package"/>
-            </intent-filter>
-        </receiver>
     </application>
 </manifest>
diff --git a/src/com/android/support/car/lenspicker/LensPickerActivity.java b/src/com/android/support/car/lenspicker/LensPickerActivity.java
index 372dd94..f0a281c 100644
--- a/src/com/android/support/car/lenspicker/LensPickerActivity.java
+++ b/src/com/android/support/car/lenspicker/LensPickerActivity.java
@@ -89,7 +89,7 @@
             ResolveInfo rInfo = resolveInfos.get(0);
             String packageName = LensPickerUtils.getPackageName(rInfo);
             Intent launchIntent = LensPickerUtils.getLaunchIntent(packageName, rInfo,
-                    mPackageManager, mSharedPrefs);
+                    mPackageManager);
             if (launchIntent != null) {
                 launch(facetId, packageName, launchIntent);
             } else {
diff --git a/src/com/android/support/car/lenspicker/LensPickerAdapter.java b/src/com/android/support/car/lenspicker/LensPickerAdapter.java
index 9d89a27..b3e44cc 100644
--- a/src/com/android/support/car/lenspicker/LensPickerAdapter.java
+++ b/src/com/android/support/car/lenspicker/LensPickerAdapter.java
@@ -96,7 +96,7 @@
                 ResolveInfo rInfo = mResolveInfos.get(i);
                 String packageName = LensPickerUtils.getPackageName(rInfo);
                 Intent launchIntent = LensPickerUtils.getLaunchIntent(packageName, rInfo,
-                        mPackageManager, mSharedPrefs);
+                        mPackageManager);
                 if (launchIntent == null) {
                     Log.w(TAG, "No launch intent for package " + packageName + " skipping.");
                     continue;
diff --git a/src/com/android/support/car/lenspicker/LensPickerTrampolineActivity.java b/src/com/android/support/car/lenspicker/LensPickerTrampolineActivity.java
index f089bf3..340ac83 100644
--- a/src/com/android/support/car/lenspicker/LensPickerTrampolineActivity.java
+++ b/src/com/android/support/car/lenspicker/LensPickerTrampolineActivity.java
@@ -56,10 +56,6 @@
 
         mPackageManager = getPackageManager();
         mSharedPrefs = LensPickerUtils.getFacetSharedPrefs(this);
-        // The next line causes the shared prefs to actually be faulted in so that subsequent
-        // accesses are fast otherwise the first access that goes and looks at the file needs
-        // to hit the disk and can take tens of milliseconds.
-        mSharedPrefs.getString("", null);
 
         Intent intent = getIntent();
 
@@ -96,8 +92,7 @@
                 Log.d(TAG, "Launching saved package: " + savedPackageName);
             }
 
-            launchIntent = LensPickerUtils.getLaunchIntentCached(mPackageManager,
-                    savedPackageName, mSharedPrefs, false);
+            launchIntent = mPackageManager.getLaunchIntentForPackage(savedPackageName);
         } else {
             if (Log.isLoggable(TAG, Log.DEBUG)) {
                 Log.d(TAG, "Delegating to LensPickerActivity to handle application launch.");
diff --git a/src/com/android/support/car/lenspicker/LensPickerUtils.java b/src/com/android/support/car/lenspicker/LensPickerUtils.java
index 0f71d2f..4024bc1 100644
--- a/src/com/android/support/car/lenspicker/LensPickerUtils.java
+++ b/src/com/android/support/car/lenspicker/LensPickerUtils.java
@@ -113,34 +113,9 @@
         return new AppLaunchInformation(facetId, packageName, intentString);
     }
 
-    @Nullable
-    public static Intent getLaunchIntentCached(PackageManager pm, String packageName,
-            SharedPreferences prefs, boolean forceRefresh) {
-        if (!forceRefresh) {
-            try {
-                String cachedUri = prefs.getString(getPackageKey(packageName), null);
-                if (cachedUri != null) {
-                    return Intent.parseUri(cachedUri, Intent.URI_INTENT_SCHEME);
-                }
-            } catch (URISyntaxException e) {
-                // We got a corrupted uri, recover from this situation by re-querying package
-                // manager and refreshing the cached uri.
-            }
-        }
-
-        Intent launchIntent = pm.getLaunchIntentForPackage(packageName);
-        if (launchIntent != null) {
-            SharedPreferences.Editor editor = prefs.edit();
-            editor.putString(getPackageKey(packageName),
-                    launchIntent.toUri(Intent.URI_INTENT_SCHEME));
-            editor.commit();
-        }
-        return launchIntent;
-    }
-
-    public static Intent getMediaLaunchIntentCached(PackageManager pm, String packageName,
-            String className, SharedPreferences prefs) {
-        Intent intent = getLaunchIntentCached(pm, MEDIA_TEMPLATE_COMPONENT, prefs, false);
+    public static Intent getMediaLaunchIntent(PackageManager pm, String packageName,
+            String className) {
+        Intent intent = pm.getLaunchIntentForPackage(MEDIA_TEMPLATE_COMPONENT);
         intent.putExtra(KEY_MEDIA_PACKAGE, packageName);
         intent.putExtra(KEY_MEDIA_CLASS, className);
         return intent;
@@ -162,13 +137,13 @@
     }
 
     @Nullable
-    public static Intent getLaunchIntent(String packageName, ResolveInfo rInfo,
-            PackageManager pm, SharedPreferences prefs) {
+    public static Intent getLaunchIntent(String packageName, ResolveInfo rInfo, PackageManager pm) {
         if (LensPickerUtils.isMediaService(rInfo)) {
-            return LensPickerUtils.getMediaLaunchIntentCached(pm, packageName,
-                    rInfo.serviceInfo.name, prefs);
+            return LensPickerUtils.getMediaLaunchIntent(pm, packageName,
+                    rInfo.serviceInfo.name);
         }
-        return LensPickerUtils.getLaunchIntentCached(pm, packageName, prefs, false /* refresh */);
+
+        return pm.getLaunchIntentForPackage(packageName);
     }
 
     /**
diff --git a/src/com/android/support/car/lenspicker/PackageChangeReceiver.java b/src/com/android/support/car/lenspicker/PackageChangeReceiver.java
deleted file mode 100644
index 67f2979..0000000
--- a/src/com/android/support/car/lenspicker/PackageChangeReceiver.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.support.car.lenspicker;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.content.pm.PackageManager;
-
-public class PackageChangeReceiver extends BroadcastReceiver {
-    @Override
-    public void onReceive(Context context, Intent intent) {
-        if (intent.getData() == null) {
-            return;
-        }
-
-        String packageName = intent.getData().getEncodedSchemeSpecificPart();
-        PackageManager pm = context.getPackageManager();
-        SharedPreferences prefs = LensPickerUtils.getFacetSharedPrefs(context);
-        // This will set up the cache.
-        LensPickerUtils.getLaunchIntentCached(pm, packageName, prefs, true);
-    }
-}
diff --git a/src/com/android/support/car/lenspicker/ResolverAdapter.java b/src/com/android/support/car/lenspicker/ResolverAdapter.java
index 8357c69..b7fb8e2 100644
--- a/src/com/android/support/car/lenspicker/ResolverAdapter.java
+++ b/src/com/android/support/car/lenspicker/ResolverAdapter.java
@@ -94,7 +94,7 @@
             for (ResolveInfo info : mResolveInfos) {
                 String packageName = LensPickerUtils.getPackageName(info);
                 Intent launchIntent = LensPickerUtils.getLaunchIntent(packageName, info,
-                        packageManager, sharedPref);
+                        packageManager);
 
                 try {
                     ApplicationInfo aInfo = packageManager.getApplicationInfo(packageName, 0);