Fix wrong screenId when committing emptyScreens
- Need to increment newScreenId whenever the screen is already bound - Also cleaned up placeholder on w1 as we now have page pairing logic Bug: 199160559 Bug: 175939730 Fix: 199131780 Test: drag and drop after clear data Change-Id: Ic42f3bddfa6cf11b8b726d6181ed2477defde19d
This commit is contained in:
parent
02a5019cf3
commit
1d5929dd82
|
@ -1,107 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2009 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.
|
||||
-->
|
||||
|
||||
<favorites xmlns:launcher="http://schemas.android.com/apk/res-auto/com.android.launcher3">
|
||||
|
||||
<!-- Hotseat (We use the screen as the position of the item in the hotseat) -->
|
||||
<!-- Dialer, Messaging, [Maps/Music], Browser, Camera -->
|
||||
<resolve
|
||||
launcher:container="-101"
|
||||
launcher:screen="0"
|
||||
launcher:x="0"
|
||||
launcher:y="0" >
|
||||
<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>
|
||||
|
||||
<resolve
|
||||
launcher:container="-101"
|
||||
launcher:screen="1"
|
||||
launcher:x="1"
|
||||
launcher:y="0" >
|
||||
<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>
|
||||
|
||||
<resolve
|
||||
launcher:container="-101"
|
||||
launcher:screen="2"
|
||||
launcher:x="2"
|
||||
launcher:y="0" >
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MAPS;end" />
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MUSIC;end" />
|
||||
</resolve>
|
||||
|
||||
<resolve
|
||||
launcher:container="-101"
|
||||
launcher:screen="3"
|
||||
launcher:x="3"
|
||||
launcher:y="0" >
|
||||
<favorite
|
||||
launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_BROWSER;end" />
|
||||
<favorite launcher:uri="http://www.example.com/" />
|
||||
</resolve>
|
||||
|
||||
<resolve
|
||||
launcher:container="-101"
|
||||
launcher:screen="4"
|
||||
launcher:x="4"
|
||||
launcher:y="0" >
|
||||
<favorite launcher:uri="#Intent;action=android.media.action.STILL_IMAGE_CAMERA;end" />
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.CAMERA_BUTTON;end" />
|
||||
</resolve>
|
||||
|
||||
<!-- Bottom row -->
|
||||
<resolve
|
||||
launcher:screen="0"
|
||||
launcher:x="0"
|
||||
launcher:y="-1" >
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_EMAIL;end" />
|
||||
<favorite launcher:uri="mailto:" />
|
||||
|
||||
</resolve>
|
||||
|
||||
<resolve
|
||||
launcher:screen="0"
|
||||
launcher:x="1"
|
||||
launcher:y="-1" >
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_GALLERY;end" />
|
||||
<favorite launcher:uri="#Intent;type=images/*;end" />
|
||||
|
||||
</resolve>
|
||||
|
||||
<resolve
|
||||
launcher:screen="0"
|
||||
launcher:x="4"
|
||||
launcher:y="-1" >
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_MARKET;end" />
|
||||
<favorite launcher:uri="market://details?id=com.android.launcher" />
|
||||
</resolve>
|
||||
|
||||
<!-- Placeholder before we add page pairing in b/196376162 -->
|
||||
<resolve
|
||||
launcher:screen="1"
|
||||
launcher:x="0"
|
||||
launcher:y="-4" >
|
||||
<favorite launcher:uri="#Intent;action=android.intent.action.MAIN;category=android.intent.category.APP_GALLERY;end" />
|
||||
<favorite launcher:uri="#Intent;type=images/*;end" />
|
||||
</resolve>
|
||||
|
||||
</favorites>
|
|
@ -105,8 +105,7 @@
|
|||
launcher:numFolderColumns="4"
|
||||
launcher:numHotseatIcons="5"
|
||||
launcher:dbFile="launcher.db"
|
||||
launcher:defaultLayoutId="@xml/default_workspace_5x5"
|
||||
launcher:defaultSplitDisplayLayoutId="@xml/default_workspace_splitdisplay_5x5" >
|
||||
launcher:defaultLayoutId="@xml/default_workspace_5x5" >
|
||||
|
||||
<display-option
|
||||
launcher:name="Large Phone"
|
||||
|
|
|
@ -859,18 +859,13 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
|
|||
mWorkspaceScreens.remove(emptyScreenId);
|
||||
mScreenOrder.removeValue(emptyScreenId);
|
||||
|
||||
int newScreenId = LauncherSettings.Settings.call(getContext().getContentResolver(),
|
||||
LauncherSettings.Settings.METHOD_NEW_SCREEN_ID)
|
||||
.getInt(LauncherSettings.Settings.EXTRA_VALUE);
|
||||
|
||||
|
||||
// When two panel home is enabled and the last page (the page on the right) doesn't
|
||||
// have any items, then Launcher database doesn't know about this page because it was added
|
||||
// by Launcher::bindAddScreens but wasn't inserted into the database. LauncherSettings's
|
||||
// generate new screen ID method will return the ID for the left page,
|
||||
// so we need to increment it.
|
||||
if (isTwoPanelEnabled() && emptyScreenId == EXTRA_EMPTY_SCREEN_ID && newScreenId % 2 == 1) {
|
||||
newScreenId++;
|
||||
int newScreenId = -1;
|
||||
// Launcher database isn't aware of empty pages that are already bound, so we need to
|
||||
// skip those IDs manually.
|
||||
while (newScreenId == -1 || mWorkspaceScreens.containsKey(newScreenId)) {
|
||||
newScreenId = LauncherSettings.Settings.call(getContext().getContentResolver(),
|
||||
LauncherSettings.Settings.METHOD_NEW_SCREEN_ID)
|
||||
.getInt(LauncherSettings.Settings.EXTRA_VALUE);
|
||||
}
|
||||
|
||||
mWorkspaceScreens.put(newScreenId, cl);
|
||||
|
|
Loading…
Reference in New Issue