private static TreeMap<Integer,Long> loadWorkspaceScreensDb(Context context){
  final ContentResolver contentResolver=context.getContentResolver();
  final Uri screensUri=LauncherSettings.WorkspaceScreens.CONTENT_URI;
  final Cursor sc=contentResolver.query(screensUri,null,null,null,null);
  TreeMap<Integer,Long> orderedScreens=new TreeMap<Integer,Long>();
  try {
    final int idIndex=sc.getColumnIndexOrThrow(LauncherSettings.WorkspaceScreens._ID);
    final int rankIndex=sc.getColumnIndexOrThrow(LauncherSettings.WorkspaceScreens.SCREEN_RANK);
    while (sc.moveToNext()) {
      try {
        long screenId=sc.getLong(idIndex);
        int rank=sc.getInt(rankIndex);
        orderedScreens.put(rank,screenId);
      }
 catch (      Exception e) {
        Launcher.addDumpLog(TAG,"Desktop items loading interrupted - invalid screens: " + e,true);
      }
    }
  }
  finally {
    sc.close();
  }
  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;
}

private static TreeMap < Integer , Long > loadWorkspaceScreensDb ( Context context ) { final ContentResolver contentResolver = context . getContentResolver ( ) ; final Uri screensUri = LauncherSettings . WorkspaceScreens . CONTENT_URI ; final Cursor sc = contentResolver . query ( screensUri , null , null , null , null ) ; TreeMap < Integer , Long > orderedScreens = new TreeMap < Integer , Long > ( ) ; try { final int idIndex = sc . getColumnIndexOrThrow ( LauncherSettings . WorkspaceScreens . _ID ) ; final int rankIndex = sc . getColumnIndexOrThrow ( LauncherSettings . WorkspaceScreens . SCREEN_RANK ) ; while ( sc . moveToNext ( ) ) { try { long screenId = sc . getLong ( idIndex ) ; int rank = sc . getInt ( rankIndex ) ; orderedScreens . put ( rank , screenId ) ; } catch ( Exception e ) { Launcher . addDumpLog ( TAG , "Desktop items loading interrupted - invalid screens: " + e , true ) ; } } } finally { sc . close ( ) ; } 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 ; }
loads the workspace screens db into a map of rank - > screenid
