Merge "Adding logs to track down missing workspace screen. (Bug 11683562)" into jb-ub-now-jolly-elf

This commit is contained in:
Winson Chung
2013-11-15 21:11:22 +00:00
committed by Android (Google) Code Review
4 changed files with 52 additions and 0 deletions
+4
View File
@@ -3711,6 +3711,10 @@ public class Launcher extends Activity
@Override
public void bindAddScreens(ArrayList<Long> orderedScreenIds) {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - bindAddScreens()", true);
Launcher.addDumpLog(TAG, "11683562 - orderedScreenIds: " +
TextUtils.join(", ", orderedScreenIds), true);
int count = orderedScreenIds.size();
for (int i = 0; i < count; i++) {
mWorkspace.insertNewWorkspaceScreenBeforeEmptyScreen(orderedScreenIds.get(i));
@@ -40,6 +40,7 @@ import android.os.Process;
import android.os.RemoteException;
import android.os.SystemClock;
import android.provider.BaseColumns;
import android.text.TextUtils;
import android.util.Log;
import android.util.Pair;
import com.android.launcher3.InstallWidgetReceiver.WidgetMimeTypeHandlerData;
@@ -958,6 +959,10 @@ public class LauncherModel extends BroadcastReceiver {
* a list of screen ids in the order that they should appear.
*/
void updateWorkspaceScreenOrder(Context context, final ArrayList<Long> screens) {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - updateWorkspaceScreenOrder()", true);
Launcher.addDumpLog(TAG, "11683562 - screens: " + TextUtils.join(", ", screens), true);
final ArrayList<Long> screensCopy = new ArrayList<Long>(screens);
final ContentResolver cr = context.getContentResolver();
final Uri uri = LauncherSettings.WorkspaceScreens.CONTENT_URI;
@@ -1238,6 +1243,15 @@ public class LauncherModel extends BroadcastReceiver {
} finally {
sc.close();
}
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - loadWorkspaceScreensDb()", true);
ArrayList<String> orderedScreensPairs= new ArrayList<String>();
for (Integer i : orderedScreens.keySet()) {
orderedScreensPairs.add("{ " + i + ": " + orderedScreens.get(i) + " }");
}
Launcher.addDumpLog(TAG, "11683562 - screens: " +
TextUtils.join(", ", orderedScreensPairs), true);
return orderedScreens;
}
@@ -868,10 +868,14 @@ public class LauncherProvider extends ContentProvider {
throw new RuntimeException("Error: max screen id was not initialized");
}
mMaxScreenId += 1;
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - generateNewScreenId(): " + mMaxScreenId, true);
return mMaxScreenId;
}
public void updateMaxScreenId(long maxScreenId) {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - updateMaxScreenId(): " + maxScreenId, true);
mMaxScreenId = maxScreenId;
}
@@ -892,6 +896,8 @@ public class LauncherProvider extends ContentProvider {
throw new RuntimeException("Error: could not query max screen id");
}
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - initializeMaxScreenId(): " + id, true);
return id;
}
+28
View File
@@ -534,6 +534,10 @@ public class Workspace extends SmoothPagedView
}
public long insertNewWorkspaceScreen(long screenId, int insertIndex) {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - insertNewWorkspaceScreen(): " + screenId +
" at index: " + insertIndex, true);
if (mWorkspaceScreens.containsKey(screenId)) {
throw new RuntimeException("Screen id " + screenId + " already exists!");
}
@@ -627,6 +631,9 @@ public class Workspace extends SmoothPagedView
}
public void addExtraEmptyScreenOnDrag() {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - addExtraEmptyScreenOnDrag()", true);
boolean lastChildOnScreen = false;
boolean childOnFinalScreen = false;
@@ -653,6 +660,9 @@ public class Workspace extends SmoothPagedView
}
public boolean addExtraEmptyScreen() {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - addExtraEmptyScreen()", true);
if (!mWorkspaceScreens.containsKey(EXTRA_EMPTY_SCREEN_ID)) {
insertNewWorkspaceScreen(EXTRA_EMPTY_SCREEN_ID);
return true;
@@ -661,6 +671,9 @@ public class Workspace extends SmoothPagedView
}
private void convertFinalScreenToEmptyScreenIfNecessary() {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - convertFinalScreenToEmptyScreenIfNecessary()", true);
if (hasExtraEmptyScreen() || mScreenOrder.size() == 0) return;
long finalScreenId = mScreenOrder.get(mScreenOrder.size() - 1);
@@ -676,6 +689,9 @@ public class Workspace extends SmoothPagedView
// if this is the last non-custom content screen, convert it to the empty screen
mWorkspaceScreens.put(EXTRA_EMPTY_SCREEN_ID, finalScreen);
mScreenOrder.add(EXTRA_EMPTY_SCREEN_ID);
// XXX: Do we need to update LM workspace screens here?
Launcher.addDumpLog(TAG, "11683562 - extra empty screen: " + finalScreenId, true);
}
}
@@ -685,6 +701,8 @@ public class Workspace extends SmoothPagedView
public void removeExtraEmptyScreen(final boolean animate, final Runnable onComplete,
final int delay, final boolean stripEmptyScreens) {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - removeExtraEmptyScreen()", true);
if (delay > 0) {
postDelayed(new Runnable() {
@Override
@@ -721,6 +739,9 @@ public class Workspace extends SmoothPagedView
private void fadeAndRemoveEmptyScreen(int delay, int duration, final Runnable onComplete,
final boolean stripEmptyScreens) {
// Log to disk
// XXX: Do we need to update LM workspace screens below?
Launcher.addDumpLog(TAG, "11683562 - fadeAndRemoveEmptyScreen()", true);
PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 0f);
PropertyValuesHolder bgAlpha = PropertyValuesHolder.ofFloat("backgroundAlpha", 0f);
@@ -764,6 +785,9 @@ public class Workspace extends SmoothPagedView
}
public long commitExtraEmptyScreen() {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - commitExtraEmptyScreen()", true);
int index = getPageIndexForScreenId(EXTRA_EMPTY_SCREEN_ID);
CellLayout cl = mWorkspaceScreens.get(EXTRA_EMPTY_SCREEN_ID);
mWorkspaceScreens.remove(EXTRA_EMPTY_SCREEN_ID);
@@ -816,6 +840,9 @@ public class Workspace extends SmoothPagedView
}
public void stripEmptyScreens() {
// Log to disk
Launcher.addDumpLog(TAG, "11683562 - stripEmptyScreens()", true);
if (isPageMoving()) {
mStripScreensOnPageStopMoving = true;
return;
@@ -836,6 +863,7 @@ public class Workspace extends SmoothPagedView
int pageShift = 0;
for (Long id: removeScreens) {
Launcher.addDumpLog(TAG, "11683562 - removing id: " + id, true);
CellLayout cl = mWorkspaceScreens.get(id);
mWorkspaceScreens.remove(id);
mScreenOrder.remove(id);