diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2017-01-05 14:03:59 -0800 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2017-01-05 14:07:58 -0800 |
commit | a32bf9b1816efc154dea6ab8de1a41aba80eedb3 (patch) | |
tree | df8f38022a4e56f92e7ea49a2d51cc796f828bd0 /src | |
parent | a167a6e04bf284d91e98e8dd12706ea8b892bbf3 (diff) | |
download | android_packages_apps_Trebuchet-a32bf9b1816efc154dea6ab8de1a41aba80eedb3.tar.gz android_packages_apps_Trebuchet-a32bf9b1816efc154dea6ab8de1a41aba80eedb3.tar.bz2 android_packages_apps_Trebuchet-a32bf9b1816efc154dea6ab8de1a41aba80eedb3.zip |
Removing logic around replacing icon during restore
This logic was dependent on key-value based backup. Since we are
using full-backup, the appropriate flags are never set.
Bug: 18764649
Change-Id: I95a93eee63ac9c82acfb66abfdd1a5407974df46
Diffstat (limited to 'src')
-rw-r--r-- | src/com/android/launcher3/CommonAppTypeParser.java | 157 | ||||
-rw-r--r-- | src/com/android/launcher3/DefaultLayoutParser.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher3/LauncherModel.java | 31 | ||||
-rw-r--r-- | src/com/android/launcher3/ShortcutInfo.java | 1 |
4 files changed, 2 insertions, 192 deletions
diff --git a/src/com/android/launcher3/CommonAppTypeParser.java b/src/com/android/launcher3/CommonAppTypeParser.java deleted file mode 100644 index c2bd8832c..000000000 --- a/src/com/android/launcher3/CommonAppTypeParser.java +++ /dev/null @@ -1,157 +0,0 @@ -/* - * Copyright (C) 2008 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.launcher3; - -import android.content.ContentValues; -import android.content.Context; -import android.content.Intent; -import android.content.res.XmlResourceParser; -import android.database.sqlite.SQLiteDatabase; -import android.util.Log; - -import com.android.launcher3.AutoInstallsLayout.LayoutParserCallback; -import com.android.launcher3.LauncherSettings.Favorites; -import com.android.launcher3.util.Thunk; - -import org.xmlpull.v1.XmlPullParserException; - -import java.io.IOException; - -/** - * A class that parses content values corresponding to some common app types. - */ -public class CommonAppTypeParser implements LayoutParserCallback { - private static final String TAG = "CommonAppTypeParser"; - - // Including TARGET_NONE - public static final int SUPPORTED_TYPE_COUNT = 7; - - private static final int RESTORE_FLAG_BIT_SHIFT = 4; - - public static final int TARGET_PHONE = 1; - public static final int TARGET_MESSENGER = 2; - public static final int TARGET_EMAIL = 3; - public static final int TARGET_BROWSER = 4; - public static final int TARGET_GALLERY = 5; - public static final int TARGET_CAMERA = 6; - - private final long mItemId; - @Thunk final int mResId; - @Thunk final Context mContext; - - ContentValues parsedValues; - Intent parsedIntent; - String parsedTitle; - - public CommonAppTypeParser(long itemId, int itemType, Context context) { - mItemId = itemId; - mContext = context; - mResId = getResourceForItemType(itemType); - } - - @Override - public long generateNewItemId() { - return mItemId; - } - - @Override - public long insertAndCheck(SQLiteDatabase db, ContentValues values) { - parsedValues = values; - - // Remove unwanted values - values.put(Favorites.ICON_PACKAGE, (String) null); - values.put(Favorites.ICON_RESOURCE, (String) null); - values.put(Favorites.ICON, (byte[]) null); - return 1; - } - - /** - * Tries to find a suitable app to the provided app type. - */ - public boolean findDefaultApp() { - if (mResId == 0) { - return false; - } - - parsedIntent = null; - parsedValues = null; - new MyLayoutParser().parseValues(); - return (parsedValues != null) && (parsedIntent != null); - } - - private class MyLayoutParser extends DefaultLayoutParser { - - public MyLayoutParser() { - super(CommonAppTypeParser.this.mContext, null, CommonAppTypeParser.this, - CommonAppTypeParser.this.mContext.getResources(), mResId, TAG_RESOLVE); - } - - @Override - protected long addShortcut(String title, Intent intent, int type) { - if (type == Favorites.ITEM_TYPE_APPLICATION) { - parsedIntent = intent; - parsedTitle = title; - } - return super.addShortcut(title, intent, type); - } - - public void parseValues() { - XmlResourceParser parser = mSourceRes.getXml(mLayoutId); - try { - beginDocument(parser, mRootTag); - new ResolveParser().parseAndAdd(parser); - } catch (IOException | XmlPullParserException e) { - Log.e(TAG, "Unable to parse default app info", e); - } - parser.close(); - } - } - - public static int getResourceForItemType(int type) { - switch (type) { - case TARGET_PHONE: - return R.xml.app_target_phone; - - case TARGET_MESSENGER: - return R.xml.app_target_messenger; - - case TARGET_EMAIL: - return R.xml.app_target_email; - - case TARGET_BROWSER: - return R.xml.app_target_browser; - - case TARGET_GALLERY: - return R.xml.app_target_gallery; - - case TARGET_CAMERA: - return R.xml.app_target_camera; - - default: - return 0; - } - } - - public static int encodeItemTypeToFlag(int itemType) { - return itemType << RESTORE_FLAG_BIT_SHIFT; - } - - public static int decodeItemTypeFromFlag(int flag) { - return (flag & ShortcutInfo.FLAG_RESTORED_APP_TYPE) >> RESTORE_FLAG_BIT_SHIFT; - } - -} diff --git a/src/com/android/launcher3/DefaultLayoutParser.java b/src/com/android/launcher3/DefaultLayoutParser.java index ef28d1e8c..05911ab7f 100644 --- a/src/com/android/launcher3/DefaultLayoutParser.java +++ b/src/com/android/launcher3/DefaultLayoutParser.java @@ -54,11 +54,6 @@ public class DefaultLayoutParser extends AutoInstallsLayout { super(context, appWidgetHost, callback, sourceRes, layoutId, TAG_FAVORITES); } - public DefaultLayoutParser(Context context, AppWidgetHost appWidgetHost, - LayoutParserCallback callback, Resources sourceRes, int layoutId, String rootTag) { - super(context, appWidgetHost, callback, sourceRes, layoutId, rootTag); - } - @Override protected HashMap<String, TagParser> getFolderElementsMap() { return getFolderElementsMap(mSourceRes); diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java index 58a74951c..daa910fc8 100644 --- a/src/com/android/launcher3/LauncherModel.java +++ b/src/com/android/launcher3/LauncherModel.java @@ -1338,7 +1338,6 @@ public class LauncherModel extends BroadcastReceiver user = allUsers.get(serialNumber); int promiseType = c.getInt(restoredIndex); int disabledState = 0; - boolean itemReplaced = false; targetPackage = null; if (user == null) { // User has been deleted remove the item. @@ -1406,25 +1405,6 @@ public class LauncherModel extends BroadcastReceiver values.put(LauncherSettings.Favorites.RESTORED, promiseType); updateItem(id, values); - } else if ((promiseType & ShortcutInfo.FLAG_RESTORED_APP_TYPE) != 0) { - // This is a common app. Try to replace this. - int appType = CommonAppTypeParser.decodeItemTypeFromFlag(promiseType); - CommonAppTypeParser parser = new CommonAppTypeParser(id, appType, context); - if (parser.findDefaultApp()) { - // Default app found. Replace it. - intent = parser.parsedIntent; - cn = intent.getComponent(); - ContentValues values = parser.parsedValues; - values.put(LauncherSettings.Favorites.RESTORED, 0); - updateItem(id, values); - restored = false; - itemReplaced = true; - - } else { - FileLog.d(TAG, "Unrestored package removed: " + cn); - itemsToRemove.add(id); - continue; - } } else { FileLog.d(TAG, "Unrestored package removed: " + cn); itemsToRemove.add(id); @@ -1464,16 +1444,7 @@ public class LauncherModel extends BroadcastReceiver boolean useLowResIcon = container >= 0 && c.getInt(rankIndex) >= FolderIcon.NUM_ITEMS_IN_PREVIEW; - if (itemReplaced) { - if (user.equals(Process.myUserHandle())) { - info = getAppShortcutInfo(intent, user, null, - cursorIconInfo, false, useLowResIcon); - } else { - // Don't replace items for other profiles. - itemsToRemove.add(id); - continue; - } - } else if (restored) { + if (restored) { if (user.equals(Process.myUserHandle())) { info = getRestoredItemInfo(c, intent, promiseType, itemType, cursorIconInfo); diff --git a/src/com/android/launcher3/ShortcutInfo.java b/src/com/android/launcher3/ShortcutInfo.java index 05fb1ed78..7f9bc2ba8 100644 --- a/src/com/android/launcher3/ShortcutInfo.java +++ b/src/com/android/launcher3/ShortcutInfo.java @@ -68,6 +68,7 @@ public class ShortcutInfo extends ItemInfoWithIcon { * Indicates if it represents a common type mentioned in {@link CommonAppTypeParser}. * Upto 15 different types supported. */ + @Deprecated public static final int FLAG_RESTORED_APP_TYPE = 0B0011110000; /** |