summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorIain Billett <iainbillett@gmail.com>2012-06-22 13:12:59 +0100
committerIain Billett <iainbillett@gmail.com>2012-06-22 13:15:53 +0100
commit520fbf75e325ff584d86944274425bd389d99d8d (patch)
treeea3b37764c927b0ffc7ce77ebdebab35e435064e /android
parent20b2d07bde44078c7627a9cc08394cf496081b2b (diff)
Added a preferences activity to set default behaviour.
Diffstat (limited to 'android')
-rw-r--r--android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml1
-rw-r--r--android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml3
-rw-r--r--android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/arrays.xml56
-rw-r--r--android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml13
-rw-r--r--android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/xml/libreoffice_preferences.xml21
-rw-r--r--android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java20
-rw-r--r--android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/PreferenceEditor.java18
7 files changed, 121 insertions, 11 deletions
diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml
index 82ec24c2f775..fa1724ac7481 100644
--- a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml
+++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml
@@ -22,6 +22,7 @@
<activity android:theme="@android:style/Theme.Holo.Light" android:name="WriterViewerActivity">
<intent-filter android:label="writer_viewer"></intent-filter>
</activity>
+ <activity android:name="PreferenceEditor"></activity>
</application>
</manifest> \ No newline at end of file
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 a780f555dd0f..87270d3a5985 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
@@ -14,4 +14,7 @@
<item android:id="@+id/menu_sort_modified"
android:title="@string/menu_sort_modified"
android:onClick="sortFiles"/>
+ <item android:id="@+id/menu_preferences"
+ android:title="@string/menu_preferences"
+ android:onClick="editPreferences"/>
</menu> \ No newline at end of file
diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/arrays.xml b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/arrays.xml
new file mode 100644
index 000000000000..67a157d201bf
--- /dev/null
+++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/arrays.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <integer-array name="FilterTypeValues">
+ <item >-1</item>
+ <item >0</item>
+ <item >1</item>
+ <item >2</item>
+ </integer-array>
+ <string-array name="FilterTypeStringValues">
+ <item >-1</item>
+ <item >0</item>
+ <item >1</item>
+ <item >2</item>
+ </string-array>
+ <string-array name="SortModeStringValues">
+ <item >0</item>
+ <item >1</item>
+ <item >2</item>
+ <item >3</item>
+ <item >4</item>
+ <item >5</item>
+ </string-array>
+ <!-- View Mode names,values -->
+ <string-array name="ViewModeNames">
+ <item >Grid</item>
+ <item >List</item>
+ </string-array>
+ <string-array name="ViewModeStringValues">
+ <item >0</item>
+ <item >1</item>
+ </string-array>
+
+ <!-- Preference Name Arrays -->
+ <string-array name="file_view_modes">
+ <item >EVERYTHING</item>
+ <item >DOCUMENTS</item>
+ <item >SPREADSHEETS</item>
+ <item >PRESENTATIONS</item>
+ </string-array>
+ <string-array name="FilterTypeNames">
+ <item >Everything</item>
+ <item >Documents</item>
+ <item >Spreadsheets</item>
+ <item >Presentations</item>
+ </string-array>
+ <string-array name="SortModeNames">
+ <item >A-Z</item>
+ <item >Z-A</item>
+ <item >Oldest First</item>
+ <item >Newest First</item>
+ <item >Largest First</item>
+ <item >Smallest First</item>
+ </string-array>
+
+
+</resources> \ 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 3ff73f7a52d2..8951dd495b8a 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
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
-
- <string name="hello">Hello World, LibreOfficeUIActivity!</string>
<string name="app_name">LibreOfficeUI</string>
<string name="menu_search">Search</string>
<string name="list_view">List</string>
@@ -9,11 +7,10 @@
<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>
- <item >SPREADSHEETS</item>
- <item >PRESENTATIONS</item>
- </string-array>
+ <string name="menu_preferences">Preferences</string>
+ <!-- Pref keys as resources ; Not currently used -->
+ <string name="EXPLORER_VIEW_TYPE_KEY">EXPLORER_VIEW_TYPE</string>
+ <string name="CURRENT_DIRECTORY_KEY">CURRENT_DIRECTORY</string>
+
</resources> \ No newline at end of file
diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/xml/libreoffice_preferences.xml b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/xml/libreoffice_preferences.xml
new file mode 100644
index 000000000000..d19d9e65298c
--- /dev/null
+++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/xml/libreoffice_preferences.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
+ <ListPreference
+ android:title="Default File Filter"
+ android:summary="Set which files to show by default"
+ android:entries="@array/FilterTypeNames"
+ android:entryValues="@array/FilterTypeStringValues"
+ android:key="FILTER_MODE"/>
+ <ListPreference
+ android:summary="Select how to order files; A-Z, by size, etc."
+ android:key="SORT_MODE"
+ android:title="File Order" android:entries="@array/SortModeNames" android:entryValues="@array/SortModeStringValues"/>
+ <ListPreference
+ android:entries="@array/ViewModeNames"
+ android:entryValues="@array/ViewModeStringValues"
+ android:title="Default File Explorer View"
+ android:key="EXPLORER_VIEW_TYPE"
+ android:summary="View files as a grid or in a list. #not functional, yet."/>
+
+
+</PreferenceScreen> \ No newline at end of file
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 743ae20e9905..d1e46a9b543d 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
@@ -6,6 +6,7 @@ import java.io.FilenameFilter;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
+import java.util.prefs.Preferences;
import android.app.ActionBar;
import android.app.ActionBar.OnNavigationListener;
@@ -16,6 +17,7 @@ import android.content.SharedPreferences;
import android.database.DataSetObserver;
import android.os.Bundle;
import android.os.Environment;
+import android.preference.PreferenceManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
@@ -71,9 +73,7 @@ public class LibreOfficeUIActivity extends Activity implements OnNavigationListe
homeDirectory.mkdirs();
currentDirectory = homeDirectory;
//Load default settings
- prefs = getSharedPreferences(EXPLORER_PREFS_KEY, MODE_PRIVATE);
- viewMode = prefs.getInt( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
- sortMode = prefs.getInt( SORT_MODE_KEY, FileUtilities.SORT_AZ );
+
}
@@ -301,6 +301,19 @@ public class LibreOfficeUIActivity extends Activity implements OnNavigationListe
return;
}
+ public void readPreferences(){
+ prefs = getSharedPreferences(EXPLORER_PREFS_KEY, MODE_PRIVATE);
+ viewMode = prefs.getInt( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW);
+ sortMode = prefs.getInt( SORT_MODE_KEY, FileUtilities.SORT_AZ );
+ SharedPreferences defaultPrefs = PreferenceManager.getDefaultSharedPreferences( getBaseContext() );
+ filterMode = Integer.valueOf( defaultPrefs.getString( FILTER_MODE_KEY , "-1") );
+ sortMode = Integer.valueOf( defaultPrefs.getString( SORT_MODE_KEY , "-1") );
+ }
+
+ public void editPreferences(MenuItem item){
+ startActivity( new Intent( this , PreferenceEditor.class) );
+ }
+
@Override
protected void onSaveInstanceState(Bundle outState) {
// TODO Auto-generated method stub
@@ -341,6 +354,7 @@ public class LibreOfficeUIActivity extends Activity implements OnNavigationListe
// TODO Auto-generated method stub
super.onResume();
Log.d(tag, "onResume");
+ readPreferences();// intent values take precedence over prefs?
Intent i = this.getIntent();
if( i.hasExtra( CURRENT_DIRECTORY_KEY ) ){
currentDirectory = new File( i.getStringExtra( CURRENT_DIRECTORY_KEY ) );
diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/PreferenceEditor.java b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/PreferenceEditor.java
new file mode 100644
index 000000000000..dec509de1167
--- /dev/null
+++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/PreferenceEditor.java
@@ -0,0 +1,18 @@
+package org.libreoffice.ui;
+
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.Preference;
+import android.preference.Preference.OnPreferenceClickListener;
+import android.preference.PreferenceActivity;
+
+public class PreferenceEditor extends PreferenceActivity {
+ public final static String FilterTypePrefKey = "FilterTypePreference";
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource( R.xml.libreoffice_preferences );
+ //mPrefs = getSharedPreferences( LibreOfficeUIActivity.EXPLORER_PREFS_KEY , MODE_PRIVATE );
+ }
+}