summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacobo Aragunde Pérez <jaragunde@igalia.com>2015-02-09 12:37:46 +0100
committerJacobo Aragunde Pérez <jaragunde@igalia.com>2015-06-03 17:21:20 +0000
commit1ea1fb72974853bd104668e137c0703fd80e4386 (patch)
tree6f9cb8fbc9c64f145872d8eda3c23c31f6a277ba
parent2fb96e820b5297610679f5763cf121081ea21da2 (diff)
Android: settings activity for document providers
Creates an activity to manage the settings of any document provider that needs them, and populated it with the settings required by the ownCloud implementation. The settings screen is not yet plugged to the document browser UI but can be launched with this command: adb shell am start -a android.intent.action.MAIN \ -n org.libreoffice/.storage.DocumentProviderSettingsActivity Change-Id: I83cff641fa61078f2bddbb98262af989c06985a9
-rw-r--r--android/experimental/LOAndroid3/AndroidManifest.xml.in8
-rw-r--r--android/experimental/LOAndroid3/res/values/strings.xml8
-rw-r--r--android/experimental/LOAndroid3/res/xml/documentprovider_preferences.xml26
-rw-r--r--android/experimental/LOAndroid3/src/java/org/libreoffice/storage/DocumentProviderSettingsActivity.java37
-rw-r--r--android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java2
5 files changed, 81 insertions, 0 deletions
diff --git a/android/experimental/LOAndroid3/AndroidManifest.xml.in b/android/experimental/LOAndroid3/AndroidManifest.xml.in
index cc61db5997b6..fc6958b1f973 100644
--- a/android/experimental/LOAndroid3/AndroidManifest.xml.in
+++ b/android/experimental/LOAndroid3/AndroidManifest.xml.in
@@ -99,6 +99,14 @@
</intent-filter>
</activity>
+ <!-- Document Provider Settings Activity -->
+ <activity android:name=".storage.DocumentProviderSettingsActivity"
+ android:label="@string/storage_provider_settings">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ </intent-filter>
+ </activity>
+
</application>
</manifest>
diff --git a/android/experimental/LOAndroid3/res/values/strings.xml b/android/experimental/LOAndroid3/res/values/strings.xml
index 50cd31edc3cc..336b19b24105 100644
--- a/android/experimental/LOAndroid3/res/values/strings.xml
+++ b/android/experimental/LOAndroid3/res/values/strings.xml
@@ -36,4 +36,12 @@
<string name="local_file_system">Local file system</string>
<string name="owncloud">ownCloud</string>
+ <!-- Document provider settings -->
+ <string name="storage_provider_settings">Storage provider settings</string>
+ <string name="owncloud_settings">ownCloud settings</string>
+ <string name="server_url">Server URL</string>
+ <string name="server_url_and_port">URL and port of the ownCloud server.</string>
+ <string name="user_name">User name</string>
+ <string name="password">Password</string>
+
</resources>
diff --git a/android/experimental/LOAndroid3/res/xml/documentprovider_preferences.xml b/android/experimental/LOAndroid3/res/xml/documentprovider_preferences.xml
new file mode 100644
index 000000000000..a359d14c4460
--- /dev/null
+++ b/android/experimental/LOAndroid3/res/xml/documentprovider_preferences.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is part of the LibreOffice project.
+ This Source Code Form is subject to the terms of the Mozilla Public
+ License, v. 2.0. If a copy of the MPL was not distributed with this
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ -->
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+ <PreferenceCategory
+ android:title="@string/owncloud_settings"
+ android:key="pref_key_owncloud_settings">
+ <EditTextPreference
+ android:key="pref_server_url"
+ android:title="@string/server_url"
+ android:summary="@string/server_url_and_port"
+ android:defaultValue="http://" />
+ <EditTextPreference
+ android:key="pref_user_name"
+ android:title="@string/user_name"
+ android:defaultValue="" />
+ <EditTextPreference
+ android:key="pref_password"
+ android:title="@string/password"
+ android:defaultValue="" />
+ </PreferenceCategory>
+</PreferenceScreen>
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/storage/DocumentProviderSettingsActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/storage/DocumentProviderSettingsActivity.java
new file mode 100644
index 000000000000..bb04855ab95c
--- /dev/null
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/storage/DocumentProviderSettingsActivity.java
@@ -0,0 +1,37 @@
+/* -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+package org.libreoffice.storage;
+
+import org.libreoffice.R;
+
+import android.app.Activity;
+import android.os.Bundle;
+import android.preference.PreferenceFragment;
+
+public class DocumentProviderSettingsActivity extends Activity {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Display the fragment as the main content.
+ getFragmentManager().beginTransaction()
+ .replace(android.R.id.content, new SettingsFragment()).commit();
+ }
+
+ public static class SettingsFragment extends PreferenceFragment {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Load the preferences from an XML resource
+ addPreferencesFromResource(R.xml.documentprovider_preferences);
+ }
+ }
+}
diff --git a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
index 9435c09299a4..045772388f2a 100644
--- a/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
+++ b/android/experimental/LOAndroid3/src/java/org/libreoffice/ui/LibreOfficeUIActivity.java
@@ -112,6 +112,8 @@ public class LibreOfficeUIActivity extends LOAbout implements ActionBar.OnNaviga
DocumentProviderFactory.initialize(this);
documentProviderFactory = DocumentProviderFactory.getInstance();
+ PreferenceManager.setDefaultValues(this, R.xml.documentprovider_preferences, false);
+
// init UI and populate with contents from the provider
createUI();
switchToDocumentProvider(documentProviderFactory.getDefaultProvider());