android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_sort_by_size.png
          |binary
 
android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_view_as_grid.png
          |binary
 
android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_view_as_list.png
          |binary
 
android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml
                            |    9 
 
android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml
                            |    3 
 
android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/FileUtilities.java
         |   73 +++
 
android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
 |  193 +++++++---
 
android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/ListItemAdapter.java
       |    5 
 
android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
  |   23 -
 9 files changed, 231 insertions(+), 75 deletions(-)

New commits:
commit 5e380fbdcdebf762a07b0ec502a4d3c40190838d
Author: Iain Billett <Iain@Iains-MacBook-Pro.local>
Date:   Tue Jun 19 16:20:34 2012 +0100

    Added file sorting - alphabetical, by size, by last modified.

diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_sort_by_size.png
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_sort_by_size.png
new file mode 100644
index 0000000..3b34aaf
Binary files /dev/null and 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_sort_by_size.png
 differ
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_view_as_grid.png
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_view_as_grid.png
new file mode 100644
index 0000000..ae138ed
Binary files /dev/null and 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_view_as_grid.png
 differ
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_view_as_list.png
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_view_as_list.png
new file mode 100644
index 0000000..c5f6c97
Binary files /dev/null and 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/drawable-hdpi/light_view_as_list.png
 differ
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml
index 14eabb3..a780f55 100644
--- 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml
+++ 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml
@@ -5,4 +5,13 @@
           android:showAsAction="always" />
     <item android:id="@+id/menu_view_toggle"
           android:title="@string/grid_view"/>
+    <item android:id="@+id/menu_sort_size"
+          android:title="@string/menu_sort_size"
+          android:onClick="sortFiles"/>
+    <item android:id="@+id/menu_sort_az"
+          android:title="@string/menu_sort_az"
+          android:onClick="sortFiles"/>
+    <item android:id="@+id/menu_sort_modified"
+          android:title="@string/menu_sort_modified"
+          android:onClick="sortFiles"/>
 </menu>
\ No newline at end of file
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml
index 7306683..3ff73f7 100644
--- 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml
+++ 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml
@@ -6,6 +6,9 @@
     <string name="menu_search">Search</string>
     <string name="list_view">List</string>
     <string name="grid_view">Grid</string>
+    <string name="menu_sort_size">Sort By Size</string>
+    <string name="menu_sort_az">Sort A-Z</string>
+    <string name="menu_sort_modified">Sort by Date</string>
     <string-array name="file_view_modes">
         <item >EVERYTHING</item>
         <item >DOCUMENTS</item>
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/FileUtilities.java
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/FileUtilities.java
index 3b6bbf3..2e21dbe 100644
--- 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/FileUtilities.java
+++ 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/FileUtilities.java
@@ -3,6 +3,8 @@ package org.libreoffice.ui;
 import java.io.File;
 import java.io.FileFilter;
 import java.io.FilenameFilter;
+import java.util.Arrays;
+import java.util.Comparator;
 
 public class FileUtilities {
        
@@ -11,6 +13,17 @@ public class FileUtilities {
        static final int CALC = 1;
        static final int IMPRESS = 2;
        
+       static final int SORT_AZ = 0;
+       static final int SORT_ZA = 1;
+       /** Oldest Files First*/
+       static final int SORT_OLDEST = 2;
+       /** Newest Files First*/
+       static final int SORT_NEWEST = 3;
+       /** Largest Files First */
+       static final int SORT_LARGEST = 4;
+       /** Smallest Files First */
+       static final int SORT_SMALLEST = 5;
+       
        private static String[] fileExtensions = {".odt",".ods",".odp"};
        
        static boolean isDoc(String filename){
@@ -34,7 +47,7 @@ public class FileUtilities {
                return false;
        }
        
-       static FileFilter getFileFilter(int mode){
+       static FileFilter getFileFilter(int mode ){
                if( mode != ALL){
                        final String ext = fileExtensions[ mode ];
                        return new FileFilter() {
@@ -84,5 +97,63 @@ public class FileUtilities {
                        }; 
                }
        }
+
+       static void sortFiles(File[] files , int sortMode){
+               //Should  really change all this to a switch statement... 
+               if( sortMode == SORT_AZ ){
+                       Arrays.sort( files , new Comparator<File>() {
        
+                               public int compare(File lhs, File rhs) {
+                                       return lhs.getName().compareTo( 
rhs.getName() );
+                               }
+                       });
+                       return;
+               }
+               if( sortMode == SORT_ZA ){
+                       Arrays.sort( files , new Comparator<File>() {
+                               
+                               public int compare(File lhs, File rhs) {
+                                       return rhs.getName().compareTo( 
lhs.getName() );
+                               }
+                       });
+                       return;
+               }
+               if( sortMode == SORT_OLDEST ){
+                       Arrays.sort( files , new Comparator<File>() {
+                               
+                               public int compare(File lhs, File rhs) {
+                                       return Long.valueOf( lhs.lastModified() 
).compareTo( rhs.lastModified() );
+                               }
+                       });
+                       return;
+               }
+               if( sortMode == SORT_NEWEST ){
+                       Arrays.sort( files , new Comparator<File>() {
+                               
+                               public int compare(File lhs, File rhs) {
+                                       return Long.valueOf( rhs.lastModified() 
).compareTo( lhs.lastModified() );
+                               }
+                       });
+                       return;
+               }
+               if( sortMode == SORT_LARGEST ){
+                       Arrays.sort( files , new Comparator<File>() {
+                               
+                               public int compare(File lhs, File rhs) {
+                                       return Long.valueOf( rhs.length() 
).compareTo( lhs.length() );
+                               }
+                       });
+                       return;
+               }
+               if( sortMode == SORT_SMALLEST ){
+                       Arrays.sort( files , new Comparator<File>() {
+                               
+                               public int compare(File lhs, File rhs) {
+                                       return Long.valueOf( lhs.length() 
).compareTo( rhs.length() );
+                               }
+                       });
+                       return;
+               }
+               return;
+       }
 }
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
index 704df20..743ae20 100644
--- 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -36,21 +36,24 @@ import android.widget.TextView;
 
 public class LibreOfficeUIActivity extends Activity implements 
OnNavigationListener {
     private String tag = "file_manager";
-    private File homeDirectory;//make final?
+       private SharedPreferences prefs;
+    private File homeDirectory;
        private File currentDirectory;
        private int filterMode = FileUtilities.ALL;
-       private int viewType = 0;
+       private int viewMode;
+       private int sortMode;
+       
        FileFilter fileFilter;
        FilenameFilter filenameFilter;
        private String[] fileNames;
        private File[] filePaths;
-       //private ActionBar actionBar;
-       private SharedPreferences prefs;
+       
        
        private static final String CURRENT_DIRECTORY_KEY = "CURRENT_DIRECTORY";
        private static final String FILTER_MODE_KEY = "FILTER_MODE";
        public static final String EXPLORER_VIEW_TYPE_KEY = 
"EXPLORER_VIEW_TYPE";
        public static final String EXPLORER_PREFS_KEY = "EXPLORER_PREFS";
+       public static final String SORT_MODE_KEY = "SORT_MODE";
        
        public static final int GRID_VIEW = 0;
        public static final int LIST_VIEW = 1;
@@ -69,7 +72,8 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
         currentDirectory = homeDirectory;        
         //Load default settings
         prefs = getSharedPreferences(EXPLORER_PREFS_KEY, MODE_PRIVATE);
-        viewType = prefs.getInt( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
+        viewMode = prefs.getInt( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
+        sortMode = prefs.getInt( SORT_MODE_KEY, FileUtilities.SORT_AZ );
 
     }
     
@@ -84,7 +88,7 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
             actionBar.setDisplayHomeAsUpEnabled(true);
         }
         
-       if( viewType == GRID_VIEW){
+       if( viewMode == GRID_VIEW){
                // code to make a grid view
                setContentView(R.layout.file_grid);
                gv = (GridView)findViewById(R.id.file_explorer_grid_view);
@@ -139,9 +143,13 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
             ActionBar actionBar = getActionBar();
             actionBar.setDisplayHomeAsUpEnabled( false );
         }
-       fileNames = currentDirectory.list( FileUtilities.getFilenameFilter( 
filterMode ) );
        filePaths = currentDirectory.listFiles( FileUtilities.getFileFilter( 
filterMode ) );
-       if( viewType == GRID_VIEW){
+       fileNames = new String[ filePaths.length ];
+       FileUtilities.sortFiles( filePaths, sortMode );
+       for( int i = 0; i < fileNames.length; i++){
+               fileNames[ i ] = filePaths[ i ].getName();
+       }
+       if( viewMode == GRID_VIEW){
                gv.setAdapter( new GridItemAdapter(getApplicationContext(), 
currentDirectory, filePaths ) );
        }else{
                lv.setAdapter( new ListItemAdapter(getApplicationContext(), 
filePaths) );
@@ -152,7 +160,7 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
        Intent i = new Intent( this , WriterViewerActivity.class );
        i.putExtra( CURRENT_DIRECTORY_KEY , currentDirectory.getAbsolutePath() 
);
        i.putExtra( FILTER_MODE_KEY  , filterMode );
-       i.putExtra( EXPLORER_VIEW_TYPE_KEY  , viewType );
+       i.putExtra( EXPLORER_VIEW_TYPE_KEY  , viewMode );
        startActivity( i );
     }
     
@@ -162,10 +170,12 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
         inflater.inflate(R.menu.view_menu, menu);
         
         MenuItem item = (MenuItem)menu.findItem(R.id.menu_view_toggle);
-        if( viewType == GRID_VIEW){
+        if( viewMode == GRID_VIEW){
                item.setTitle(R.string.list_view);
+               item.setIcon( R.drawable.light_view_as_list );
         }else{
                item.setTitle(R.string.grid_view);
+               item.setIcon( R.drawable.light_view_as_grid );
         }
         return true;
     }
@@ -178,12 +188,15 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
                    }
                    break;
                case R.id.menu_view_toggle:
-                       if( viewType == GRID_VIEW){
-                               viewType = LIST_VIEW;
+                       if( viewMode == GRID_VIEW){
+                               viewMode = LIST_VIEW;
                                item.setTitle(R.string.grid_view);//Button 
points to next view.
+                       item.setIcon( R.drawable.light_view_as_grid );
+                               
                        }else{
-                               viewType = GRID_VIEW;
+                               viewMode = GRID_VIEW;
                                item.setTitle(R.string.list_view);//Button 
points to next view.
+                       item.setIcon( R.drawable.light_view_as_list );
                        }
                        createUI();
                        break;
@@ -257,15 +270,46 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
         }
     }
     
+    @SuppressWarnings("unused")//see android:onClick properties in 
view_menu.xml
+       public void sortFiles(MenuItem item){
+               switch ( item.getItemId() ) {
+                       case R.id.menu_sort_az:
+                               if( sortMode == FileUtilities.SORT_AZ ){
+                                       sortMode = FileUtilities.SORT_ZA;
+                               }else{
+                                       sortMode = FileUtilities.SORT_AZ;
+                               }
+                               break;
+                       case R.id.menu_sort_modified:
+                               if( sortMode == FileUtilities.SORT_NEWEST ){
+                                       sortMode = FileUtilities.SORT_OLDEST;
+                               }else{
+                                       sortMode = FileUtilities.SORT_NEWEST;
+                               }
+                               break;
+                       case R.id.menu_sort_size:
+                               if( sortMode == FileUtilities.SORT_LARGEST ){
+                                       sortMode = FileUtilities.SORT_SMALLEST;
+                               }else{
+                                       sortMode = FileUtilities.SORT_LARGEST;
+                               }
+                               break;
+                       default:
+                               break;
+               }
+               this.onResume();
+               return;
+    }
+    
     @Override
     protected void onSaveInstanceState(Bundle outState) {
        // TODO Auto-generated method stub
        super.onSaveInstanceState(outState);
        outState.putString( CURRENT_DIRECTORY_KEY , 
currentDirectory.getAbsolutePath() );
        outState.putInt( FILTER_MODE_KEY , filterMode );
-       outState.putInt( EXPLORER_VIEW_TYPE_KEY , viewType );
+       outState.putInt( EXPLORER_VIEW_TYPE_KEY , viewMode );
 
-       Log.d(tag, currentDirectory.toString() + Integer.toString(filterMode ) 
+ Integer.toString(viewType) );
+       Log.d(tag, currentDirectory.toString() + Integer.toString(filterMode ) 
+ Integer.toString(viewMode) );
        //prefs.edit().putInt(EXPLORER_VIEW_TYPE, viewType).commit();
        Log.d(tag, "savedInstanceSate");
     }
@@ -279,10 +323,10 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
        }
        currentDirectory = new File( savedInstanceState.getString( 
CURRENT_DIRECTORY_KEY ) );
        filterMode = savedInstanceState.getInt( FILTER_MODE_KEY , 
FileUtilities.ALL ) ;
-       viewType = savedInstanceState.getInt( EXPLORER_VIEW_TYPE_KEY , 
GRID_VIEW );
+       viewMode = savedInstanceState.getInt( EXPLORER_VIEW_TYPE_KEY , 
GRID_VIEW );
        //openDirectory( currentDirectory );
        Log.d(tag, "onRestoreInstanceState");
-       Log.d(tag, currentDirectory.toString() + Integer.toString(filterMode ) 
+ Integer.toString(viewType) );
+       Log.d(tag, currentDirectory.toString() + Integer.toString(filterMode ) 
+ Integer.toString(viewMode) );
     }
     
     @Override
@@ -307,7 +351,7 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
             Log.d(tag, FILTER_MODE_KEY);
         }
         if( i.hasExtra( EXPLORER_VIEW_TYPE_KEY ) ){
-            viewType = i.getIntExtra( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
+            viewMode = i.getIntExtra( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
             Log.d(tag, EXPLORER_VIEW_TYPE_KEY);
         }
        createUI();
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/ListItemAdapter.java
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/ListItemAdapter.java
index 1fd2d62..1e66e3a 100644
--- 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/ListItemAdapter.java
+++ 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/ListItemAdapter.java
@@ -15,7 +15,10 @@ import android.widget.ImageView;
 import android.widget.ListAdapter;
 import android.widget.TextView;
 
-/*Currently this is class is not used but instead an inner class in 
LibreOfficeUI is impemented */
+/*Currently this is class is not used but instead is implemented as an inner 
class in LibreOfficeUI.
+ * This is because I can't get the onItemClickListener to fire on the listview 
so I need to set an 
+ * onClick listener in the adapter. ( I've tried turning off the focusability 
etc of the listitem 
+ * contents but no dice...) */
 public class ListItemAdapter implements ListAdapter{
        private Context mContext;
        private File[] filePaths;
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
index d217421..fe2f113 100644
--- 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
+++ 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
@@ -1,20 +1,12 @@
 package org.libreoffice.ui;
 
-import java.io.File;
-
 import android.app.ActionBar;
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.Environment;
-import android.util.Log;
 import android.view.MenuItem;
 
 public class WriterViewerActivity extends Activity{
-       private String currentDirectoryKey = "CURRENT_DIRECTORY";
-       private String filterModeKey = "FILTER_MODE";
-       File dir;
-       private int filterMode;
        private Bundle extras;
        
        @Override
commit b059deda1de7513dde886f3259d925df0472c4c3
Author: Iain Billett <Iain@Iains-MacBook-Pro.local>
Date:   Mon Jun 18 21:15:00 2012 +0100

    Re-organised the Android UI code to make better use of Android lifecycle 
events. A little code streamlining, also.

diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
index 330ffc5..704df20 100644
--- 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -44,13 +44,13 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
        FilenameFilter filenameFilter;
        private String[] fileNames;
        private File[] filePaths;
-       private ActionBar actionBar;
+       //private ActionBar actionBar;
        private SharedPreferences prefs;
        
-       private static final String currentDirectoryKey = "CURRENT_DIRECTORY";
-       private static final String filterModeKey = "FILTER_MODE";
-       public static final String EXPLORER_VIEW_TYPE = "EXPLORER_VIEW_TYPE";
-       public static final String EXPLORER_PREFS = "EXPLORER_PREFS";
+       private static final String CURRENT_DIRECTORY_KEY = "CURRENT_DIRECTORY";
+       private static final String FILTER_MODE_KEY = "FILTER_MODE";
+       public static final String EXPLORER_VIEW_TYPE_KEY = 
"EXPLORER_VIEW_TYPE";
+       public static final String EXPLORER_PREFS_KEY = "EXPLORER_PREFS";
        
        public static final int GRID_VIEW = 0;
        public static final int LIST_VIEW = 1;
@@ -60,46 +60,30 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
        
     @Override
     public void onCreate(Bundle savedInstanceState) {
+
         super.onCreate(savedInstanceState);
-        prefs = getSharedPreferences(EXPLORER_PREFS, MODE_PRIVATE);
-        viewType = prefs.getInt( EXPLORER_VIEW_TYPE, GRID_VIEW);
-        
-        actionBar = getActionBar();
+        Log.d(tag, "onCreate");
+        //Set the "home" - top level - directory.
+        homeDirectory  = new 
File(Environment.getExternalStorageDirectory(),"LibreOffice");
+        homeDirectory.mkdirs();
+        currentDirectory = homeDirectory;        
+        //Load default settings
+        prefs = getSharedPreferences(EXPLORER_PREFS_KEY, MODE_PRIVATE);
+        viewType = prefs.getInt( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
+
+    }
+    
+    public void createUI(){
+       ActionBar actionBar = getActionBar();
         actionBar.setDisplayShowTitleEnabled(false);//This should show current 
directory if anything
         actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
         SpinnerAdapter mSpinnerAdapter = ArrayAdapter.createFromResource(this, 
R.array.file_view_modes,
                 android.R.layout.simple_spinner_dropdown_item);
         actionBar.setListNavigationCallbacks(mSpinnerAdapter, this);
-                       
-        
-        homeDirectory  = new 
File(Environment.getExternalStorageDirectory(),"LibreOffice");
-        homeDirectory.mkdirs();
-        currentDirectory = homeDirectory;
-        Intent i = this.getIntent();
-        if( i.hasExtra( currentDirectoryKey ) ){
-               currentDirectory = new File( i.getStringExtra( 
currentDirectoryKey ) );
-        }else{
-               if( savedInstanceState != null){
-                       if( savedInstanceState.getString( currentDirectoryKey ) 
!= null ){
-                               currentDirectory = new File( 
-                                               savedInstanceState.getString( 
currentDirectoryKey ) );
-                       }
-               }
-        }
-        
-        if( i.hasExtra( filterModeKey ) ){
-            filterMode = i.getIntExtra( filterModeKey, FileUtilities.ALL);
-        }
         if( !currentDirectory.equals( homeDirectory )){
             actionBar.setDisplayHomeAsUpEnabled(true);
         }
-
-        //createDummyFileSystem();
-        createUI();
-           
-    }
-    
-    public void createUI(){
+        
        if( viewType == GRID_VIEW){
                // code to make a grid view
                setContentView(R.layout.file_grid);
@@ -148,7 +132,6 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
     
     public void openDirectory(File dir ){
        currentDirectory = dir; 
-       Log.d(tag, dir.toString() + " " + homeDirectory.toString());
         if( !currentDirectory.equals( homeDirectory )){
             ActionBar actionBar = getActionBar();
             actionBar.setDisplayHomeAsUpEnabled(true);
@@ -166,10 +149,10 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
     }
     
     public void open(String file){
-       //Should add file to the intent as an extra
        Intent i = new Intent( this , WriterViewerActivity.class );
-       i.putExtra( currentDirectoryKey , currentDirectory.getAbsolutePath() );
-       i.putExtra( filterModeKey  , filterMode );
+       i.putExtra( CURRENT_DIRECTORY_KEY , currentDirectory.getAbsolutePath() 
);
+       i.putExtra( FILTER_MODE_KEY  , filterMode );
+       i.putExtra( EXPLORER_VIEW_TYPE_KEY  , viewType );
        startActivity( i );
     }
     
@@ -278,21 +261,79 @@ public class LibreOfficeUIActivity extends Activity 
implements OnNavigationListe
     protected void onSaveInstanceState(Bundle outState) {
        // TODO Auto-generated method stub
        super.onSaveInstanceState(outState);
-       outState.putString( currentDirectoryKey , 
currentDirectory.getAbsolutePath() );
-       prefs.edit().putInt(EXPLORER_VIEW_TYPE, viewType).commit();
+       outState.putString( CURRENT_DIRECTORY_KEY , 
currentDirectory.getAbsolutePath() );
+       outState.putInt( FILTER_MODE_KEY , filterMode );
+       outState.putInt( EXPLORER_VIEW_TYPE_KEY , viewType );
+
+       Log.d(tag, currentDirectory.toString() + Integer.toString(filterMode ) 
+ Integer.toString(viewType) );
+       //prefs.edit().putInt(EXPLORER_VIEW_TYPE, viewType).commit();
+       Log.d(tag, "savedInstanceSate");
     }
     
     @Override
     protected void onRestoreInstanceState(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onRestoreInstanceState(savedInstanceState);
-       //currentDirectory = new File( savedInstanceState.getString( 
currentDirectoryKey ) );
+       if( savedInstanceState.isEmpty() ){
+               return;
+       }
+       currentDirectory = new File( savedInstanceState.getString( 
CURRENT_DIRECTORY_KEY ) );
+       filterMode = savedInstanceState.getInt( FILTER_MODE_KEY , 
FileUtilities.ALL ) ;
+       viewType = savedInstanceState.getInt( EXPLORER_VIEW_TYPE_KEY , 
GRID_VIEW );
+       //openDirectory( currentDirectory );
+       Log.d(tag, "onRestoreInstanceState");
+       Log.d(tag, currentDirectory.toString() + Integer.toString(filterMode ) 
+ Integer.toString(viewType) );
     }
     
     @Override
     protected void onPause() {
-       
+       //prefs.edit().putInt(EXPLORER_VIEW_TYPE, viewType).commit();
        super.onPause();
+       Log.d(tag, "onPause");
+    }
+    
+    @Override
+    protected void onResume() {
+       // TODO Auto-generated method stub
+       super.onResume();
+       Log.d(tag, "onResume");
+       Intent i = this.getIntent();
+        if( i.hasExtra( CURRENT_DIRECTORY_KEY ) ){
+               currentDirectory = new File( i.getStringExtra( 
CURRENT_DIRECTORY_KEY ) );
+               Log.d(tag, CURRENT_DIRECTORY_KEY);
+        }
+        if( i.hasExtra( FILTER_MODE_KEY ) ){
+            filterMode = i.getIntExtra( FILTER_MODE_KEY, FileUtilities.ALL);
+            Log.d(tag, FILTER_MODE_KEY);
+        }
+        if( i.hasExtra( EXPLORER_VIEW_TYPE_KEY ) ){
+            viewType = i.getIntExtra( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
+            Log.d(tag, EXPLORER_VIEW_TYPE_KEY);
+        }
+       createUI();
+       openDirectory( currentDirectory );
+    }
+    
+    @Override
+    protected void onStart() {
+       // TODO Auto-generated method stub
+       super.onStart();
+       Log.d(tag, "onStart");
+    }
+    
+    @Override
+    protected void onStop() {
+       // TODO Auto-generated method stub
+       super.onStop();
+       Log.d(tag, "onStop");
+    }
+    
+    @Override
+    protected void onDestroy() {
+       // TODO Auto-generated method stub
+       super.onDestroy();
+       
+       Log.d(tag, "onDestroy");
     }
      
        public boolean onNavigationItemSelected(int itemPosition, long itemId) {
diff --git 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
index 75f3b1a..d217421 100644
--- 
a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
+++ 
b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/WriterViewerActivity.java
@@ -15,19 +15,13 @@ public class WriterViewerActivity extends Activity{
        private String filterModeKey = "FILTER_MODE";
        File dir;
        private int filterMode;
+       private Bundle extras;
+       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
-               Intent i = this.getIntent();
-               if( i.hasExtra( currentDirectoryKey ) ){
-                       Log.d(currentDirectoryKey, i.getStringExtra( 
currentDirectoryKey ) );
-                       dir = new File( i.getStringExtra( currentDirectoryKey ) 
);
-               }
-               if( i.hasExtra( filterModeKey ) ){
-                       //Log.d("FILTER_OC_WRITER", 
Integer.toString(i.getIntExtra( filterModeKey , FileUtilities.ALL )));
-               filterMode = i.getIntExtra( filterModeKey , FileUtilities.ALL );
-               }
+               extras = getIntent().getExtras();
                setContentView(R.layout.main);
            ActionBar actionBar = getActionBar();
            actionBar.setDisplayHomeAsUpEnabled(true);
@@ -39,8 +33,7 @@ public class WriterViewerActivity extends Activity{
                case android.R.id.home:
                    // app icon in action bar clicked; go home
                    Intent intent = new Intent(this, 
LibreOfficeUIActivity.class);
-                   intent.putExtra(currentDirectoryKey, dir.getAbsolutePath() 
);
-                       intent.putExtra( filterModeKey , filterMode );
+                   intent.putExtras( extras );
                    //intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    startActivity(intent);
                    return true;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to