diff options
-rw-r--r-- | res/xml/app_target_browser.xml | 23 | ||||
-rw-r--r-- | res/xml/app_target_camera.xml | 23 | ||||
-rw-r--r-- | res/xml/app_target_email.xml | 23 | ||||
-rw-r--r-- | res/xml/app_target_gallery.xml | 23 | ||||
-rw-r--r-- | res/xml/app_target_messenger.xml | 26 | ||||
-rw-r--r-- | res/xml/app_target_phone.xml | 24 | ||||
-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 |
10 files changed, 2 insertions, 334 deletions
diff --git a/res/xml/app_target_browser.xml b/res/xml/app_target_browser.xml deleted file mode 100644 index d7c3ed5fd..000000000 --- a/res/xml/app_target_browser.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2015 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. ---> - -<resolve xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3" > - - <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_BROWSER;end" /> - <favorite launcher:uri="http://www.example.com/" /> - -</resolve>
\ No newline at end of file diff --git a/res/xml/app_target_camera.xml b/res/xml/app_target_camera.xml deleted file mode 100644 index f65a2b168..000000000 --- a/res/xml/app_target_camera.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2015 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. ---> - -<resolve xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3" > - - <favorite launcher:uri="#Intent;action=android.media.action.STILL_IMAGE_CAMERA;end" /> - <favorite launcher:uri="#Intent;action=android.intent.action.CAMERA_BUTTON;end" /> - -</resolve>
\ No newline at end of file diff --git a/res/xml/app_target_email.xml b/res/xml/app_target_email.xml deleted file mode 100644 index 44f0a407d..000000000 --- a/res/xml/app_target_email.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2015 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. ---> - -<resolve xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3" > - - <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_EMAIL;end" /> - <favorite launcher:uri="mailto:" /> - -</resolve>
\ No newline at end of file diff --git a/res/xml/app_target_gallery.xml b/res/xml/app_target_gallery.xml deleted file mode 100644 index c9d34924a..000000000 --- a/res/xml/app_target_gallery.xml +++ /dev/null @@ -1,23 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2015 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. ---> - -<resolve xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3" > - - <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_GALLERY;end" /> - <favorite launcher:uri="#Intent;type=images/*;end" /> - -</resolve>
\ No newline at end of file diff --git a/res/xml/app_target_messenger.xml b/res/xml/app_target_messenger.xml deleted file mode 100644 index 278eb5ca8..000000000 --- a/res/xml/app_target_messenger.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2015 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. ---> - -<resolve xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3" > - - <favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MESSAGING;end" /> - <favorite launcher:uri="sms:" /> - <favorite launcher:uri="smsto:" /> - <favorite launcher:uri="mms:" /> - <favorite launcher:uri="mmsto:" /> - -</resolve>
\ No newline at end of file diff --git a/res/xml/app_target_phone.xml b/res/xml/app_target_phone.xml deleted file mode 100644 index 5d6ca316e..000000000 --- a/res/xml/app_target_phone.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- - Copyright (C) 2015 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. ---> - -<resolve xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3" > - - <favorite launcher:uri="#Intent;action=android.intent.action.DIAL;end" /> - <favorite launcher:uri="tel:123" /> - <favorite launcher:uri="#Intent;action=android.intent.action.CALL_BUTTON;end" /> - -</resolve>
\ No newline at end of file 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; /** |