Initial check-in
@@ -0,0 +1,11 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="#333333"
|
||||
android:alpha="0.6">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M17,12h-5v5h5v-5zM16,1v2L8,3L8,1L6,1v2L5,3c-1.11,0 -1.99,0.9 -1.99,2L3,19c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2h-1L18,1h-2zM19,19L5,19L5,8h14v11z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,11 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="#333333"
|
||||
android:alpha="0.6">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01 -0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8 -8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97 0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,11 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="#FFFFFF"
|
||||
android:alpha="0.8">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,4L12,1L8,5l4,4L12,6c3.31,0 6,2.69 6,6 0,1.01 -0.25,1.97 -0.7,2.8l1.46,1.46C19.54,15.03 20,13.57 20,12c0,-4.42 -3.58,-8 -8,-8zM12,18c-3.31,0 -6,-2.69 -6,-6 0,-1.01 0.25,-1.97 0.7,-2.8L5.24,7.74C4.46,8.97 4,10.43 4,12c0,4.42 3.58,8 8,8v3l4,-4 -4,-4v3z"/>
|
||||
</vector>
|
||||
|
After Width: | Height: | Size: 255 B |
|
After Width: | Height: | Size: 503 B |
|
After Width: | Height: | Size: 444 B |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 1.9 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 159 B |
|
After Width: | Height: | Size: 334 B |
|
After Width: | Height: | Size: 289 B |
|
After Width: | Height: | Size: 951 B |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 225 B |
|
After Width: | Height: | Size: 623 B |
|
After Width: | Height: | Size: 543 B |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.7 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 341 B |
|
After Width: | Height: | Size: 918 B |
|
After Width: | Height: | Size: 801 B |
|
After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
@@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M11,17h2v-6h-2v6zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8zM11,9h2L13,7h-2v2z"/>
|
||||
</vector>
|
||||
@@ -0,0 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="20dp"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/about_version"
|
||||
android:id="@+id/label_version" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/about_copyright"
|
||||
android:id="@+id/label_copyright" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:text="@string/about_homepage_url"
|
||||
android:autoLink="web"
|
||||
android:linksClickable="true" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical"
|
||||
tools:context=".MainActivity">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/hint_host_unconfigured"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:onClick="onConfigurationHintClicked">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<View
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_margin="20dp"
|
||||
android:background="@drawable/ic_info_outline_black" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="@string/main_hint_settings_missing" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:background="?android:attr/listDivider" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/hint_repository_empty"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:onClick="onSynchronizeHintClicked">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<View
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:layout_margin="20dp"
|
||||
android:background="@drawable/ic_info_outline_black" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:text="@string/main_hint_synchronize" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:background="?android:attr/listDivider" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/search_area"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<EditText android:id="@+id/search_input"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="5dp"
|
||||
android:layout_weight="1"
|
||||
android:hint="@string/main_search_input_hint"
|
||||
android:inputType="text"
|
||||
android:importantForAutofill="no"
|
||||
android:imeOptions="actionSearch" />
|
||||
|
||||
<ImageButton android:id="@+id/search_button"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="5dp"
|
||||
android:layout_gravity="center_vertical"
|
||||
android:background="@drawable/ic_menu_search"
|
||||
android:onClick="onSearch"
|
||||
android:contentDescription="@string/main_search_button_description" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:background="?android:attr/listDivider" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/search_progressbar"
|
||||
style="@android:style/Widget.Holo.ProgressBar.Horizontal"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:indeterminate="true"
|
||||
android:indeterminateTint="#2324aa"
|
||||
android:visibility="gone" />
|
||||
|
||||
<WebView
|
||||
android:id="@+id/web_browser"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:id="@+id/settings_layout">
|
||||
|
||||
</FrameLayout>
|
||||
@@ -0,0 +1,40 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context=".MainActivity">
|
||||
|
||||
<item
|
||||
android:id="@+id/action_startpage"
|
||||
android:title="@string/action_startpage"
|
||||
android:icon="@drawable/ic_menu_home"
|
||||
android:orderInCategory="100"
|
||||
app:showAsAction="ifRoom" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_synchronize"
|
||||
android:title="@string/action_synchronize"
|
||||
android:icon="@drawable/ic_action_sync_white"
|
||||
android:orderInCategory="200"
|
||||
app:showAsAction="ifRoom" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_settings"
|
||||
android:title="@string/action_settings"
|
||||
android:icon="@drawable/ic_menu_preferences"
|
||||
android:orderInCategory="300"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_help"
|
||||
android:title="@string/action_help"
|
||||
android:icon="@drawable/ic_menu_help"
|
||||
android:orderInCategory="400"
|
||||
app:showAsAction="never" />
|
||||
|
||||
<item
|
||||
android:id="@+id/action_about"
|
||||
android:title="@string/action_about"
|
||||
android:icon="@drawable/ic_menu_info_details"
|
||||
android:orderInCategory="500"
|
||||
app:showAsAction="never" />
|
||||
</menu>
|
||||
|
After Width: | Height: | Size: 8.8 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 31 KiB |
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="about_copyright">Copyright %1$d © Herbert Reiter</string>
|
||||
<string name="about_version">Version %1$s</string>
|
||||
<string name="action_help">Hilfe</string>
|
||||
<string name="action_about">Über</string>
|
||||
<string name="action_back_close_hint">Erneut drücken um die App zu beenden.</string>
|
||||
<string name="action_settings">Einstellungen</string>
|
||||
<string name="action_startpage">Startseite</string>
|
||||
<string name="action_synchronize">Synchronisieren</string>
|
||||
<string name="button_close">Schließen</string>
|
||||
<string name="calendar_display_name">MoasdaWiki Termine</string>
|
||||
<string name="calendar_date">Datum: </string>
|
||||
<string name="calendar_permission_request">Bitte erteile die Berechtigung %1$s damit es funktioniert</string>
|
||||
<string name="calendar_sync_finished">Kalender fertig aktualisiert</string>
|
||||
<string name="main_hint_settings_missing">Vielen Dank für die Installation der MoasdaWiki App. Bitte konfiguriere nun die Serververbindung, um die Wikiseiten synchronisieren zu können. Drücke hier um die Einstellungen zu öffnen.</string>
|
||||
<string name="main_hint_synchronize">Die App hat noch keine Wikiseiten. Drücke hier um jetzt mit dem MoasdaWiki-Server zu synchronisieren.</string>
|
||||
<string name="main_search_input_hint">Durchsuche Wiki</string>
|
||||
<string name="main_search_button_description">Suchen</string>
|
||||
<string name="settings_title">Einstellungen</string>
|
||||
<string name="settings_synchronize">Mit Wikiserver synchronisieren</string>
|
||||
<string name="settings_host_title">Hostname</string>
|
||||
<string name="settings_host_summary_empty">Gib den Hostnamen des Rechners auf dem der MoasdaWiki server läuft an.</string>
|
||||
<string name="settings_port">Host-Port</string>
|
||||
<string name="settings_port_summary_empty">%1$d (Standardwert)</string>
|
||||
<string name="settings_status">Status der Synchronisierung</string>
|
||||
<string name="settings_status_details"><![CDATA[Verbindung: %1$s\nServer-Host: %2$s\nLetzte Synchronisierung: %3$s\nDateien im lokalen Repository: %4$s]]></string>
|
||||
<string name="settings_status_server_not_connected">Nicht verbunden</string>
|
||||
<string name="settings_status_server_connected">Am Server angemeldet</string>
|
||||
<string name="settings_status_server_authorization_mission">Erfordert Berechtigung am Server</string>
|
||||
<string name="settings_search_failed">Keinen Wikiserver gefunden!</string>
|
||||
<string name="settings_synchronize_successful">%1$d Dateien erfolgreich synchronisiert</string>
|
||||
<string name="settings_synchronize_not_necessary">Dateien sind bereits aktuell</string>
|
||||
<string name="settings_synchronize_failed">Synchronisierung nicht möglich, bitte überprüfen Sie die Einstellungen und den Status!</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,3 @@
|
||||
<resources>
|
||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||
</resources>
|
||||
@@ -0,0 +1,36 @@
|
||||
<resources>
|
||||
<string name="app_name" translatable="false">MoasdaWiki App</string>
|
||||
<string name="about_copyright">Copyright %1$d © Herbert Reiter</string>
|
||||
<string name="about_homepage_url" translatable="false">https://www.moasdawiki.net/</string>
|
||||
<string name="about_version">Version %1$s</string>
|
||||
<string name="action_about">About</string>
|
||||
<string name="action_back_close_hint">Press again to exit the app.</string>
|
||||
<string name="action_help">Help</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
<string name="action_startpage">Start page</string>
|
||||
<string name="action_synchronize">Synchronize</string>
|
||||
<string name="button_close">Close</string>
|
||||
<string name="calendar_display_name">MoasdaWiki Events</string>
|
||||
<string name="calendar_date">Date</string>
|
||||
<string name="calendar_permission_request">Please grant permission %1$s to make it work</string>
|
||||
<string name="calendar_sync_finished">Calendar update finished</string>
|
||||
<string name="main_hint_settings_missing">Thank you for installing the MoasdaWiki App. Please configure the server connection to synchronize the Wiki pages. Tap here to go to settings.</string>
|
||||
<string name="main_hint_synchronize">The App has still no Wiki content. Tap here to synchronize with the MoasdaWiki server now.</string>
|
||||
<string name="main_search_input_hint">Search in Wiki pages</string>
|
||||
<string name="main_search_button_description">Search</string>
|
||||
<string name="settings_title">Settings</string>
|
||||
<string name="settings_synchronize">Synchronize with Wiki server</string>
|
||||
<string name="settings_host_title">Host name</string>
|
||||
<string name="settings_host_summary_empty">Enter the host name of a MoasdaWiki server instance.</string>
|
||||
<string name="settings_port">Host port</string>
|
||||
<string name="settings_port_summary_empty">%1$d (default value)</string>
|
||||
<string name="settings_status">Synchronization status</string>
|
||||
<string name="settings_status_details"><![CDATA[Connection: %1$s\nServer host: %2$s\nLast synchronization: %3$s\nFiles in local repository: %4$s]]></string>
|
||||
<string name="settings_status_server_not_connected">Not connected</string>
|
||||
<string name="settings_status_server_connected">Connected to server</string>
|
||||
<string name="settings_status_server_authorization_mission">Needs authorization at server</string>
|
||||
<string name="settings_search_failed">No Wiki server found!</string>
|
||||
<string name="settings_synchronize_successful">Successfully synchronized %1$d files</string>
|
||||
<string name="settings_synchronize_not_necessary">All files are up-to-date</string>
|
||||
<string name="settings_synchronize_failed">Synchronization failed, please check settings and status!</string>
|
||||
</resources>
|
||||
@@ -0,0 +1,12 @@
|
||||
<resources>
|
||||
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
<item name="actionBarStyle">@style/MyActionBarLogo</item>
|
||||
</style>
|
||||
|
||||
<style name="MyActionBarLogo" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
|
||||
<item name="logo">@mipmap/ic_cow</item>
|
||||
<item name="displayOptions">useLogo|showTitle|showHome</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:accountType="net.moasdawiki"
|
||||
android:icon="@mipmap/ic_cow"
|
||||
android:smallIcon="@mipmap/ic_cow"
|
||||
android:label="@string/app_name" />
|
||||
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="@string/settings_synchronize"
|
||||
android:icon="@drawable/ic_action_sync">
|
||||
|
||||
<EditTextPreference
|
||||
android:key="sync_server_host"
|
||||
android:persistent="true"
|
||||
android:title="@string/settings_host_title"
|
||||
android:summary="@string/settings_host_summary_empty" />
|
||||
|
||||
<EditTextPreference
|
||||
android:key="sync_server_port"
|
||||
android:persistent="true"
|
||||
android:title="@string/settings_port"
|
||||
android:inputType="number" />
|
||||
|
||||
<Preference
|
||||
android:key="synchronization_status"
|
||||
android:persistent="false"
|
||||
android:selectable="false"
|
||||
android:title="@string/settings_status" />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
<PreferenceCategory
|
||||
android:title="Calendar integration"
|
||||
android:icon="@drawable/ic_action_event">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
android:key="calendar_enabled"
|
||||
android:persistent="true"
|
||||
android:title="Event calendar"
|
||||
android:summary="Provide all Wiki contact birthdays and tasks with deadline as calendar events." />
|
||||
|
||||
</PreferenceCategory>
|
||||
|
||||
</PreferenceScreen>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:contentAuthority="net.moasdawiki.app.provider"
|
||||
android:accountType="net.moasdawiki"
|
||||
android:userVisible="false"
|
||||
android:supportsUploading="false"
|
||||
android:allowParallelSyncs="false"
|
||||
android:isAlwaysSyncable="true" />
|
||||