openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #28351
[Merge] lp:~trb143/openlp/Android2-a5a into lp:openlp
Tim Bentley has proposed merging lp:~trb143/openlp/Android2-a5a into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
For more details, see:
https://code.launchpad.net/~trb143/openlp/Android2-a5a/+merge/282122
Fix dialog due to conflict
--
Your team OpenLP Core is requested to review the proposed merge of lp:~trb143/openlp/Android2-a5a into lp:openlp.
=== added file '.bzrignore'
--- .bzrignore 1970-01-01 00:00:00 +0000
+++ .bzrignore 2016-01-10 17:42:04 +0000
@@ -0,0 +1,10 @@
+.gradle
+/local.properties
+/.idea/workspace.xml
+/.idea/libraries
+.DS_Store
+/build
+/app/build
+/.idea
+/.bzr
+.apk
=== renamed file '.bzrignore' => '.bzrignore.moved'
=== added file '.gitignore'
--- .gitignore 1970-01-01 00:00:00 +0000
+++ .gitignore 2016-01-10 17:42:04 +0000
@@ -0,0 +1,6 @@
+.gradle
+/local.properties
+/.idea/workspace.xml
+/.idea/libraries
+.DS_Store
+/build
=== added file 'OpenLP2.iml'
--- OpenLP2.iml 1970-01-01 00:00:00 +0000
+++ OpenLP2.iml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="OpenLP2" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="java-gradle" name="Java-Gradle">
+ <configuration>
+ <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
+ <option name="BUILDABLE" value="false" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ </component>
+</module>
\ No newline at end of file
=== added directory 'app'
=== added file 'app/.gitignore'
--- app/.gitignore 1970-01-01 00:00:00 +0000
+++ app/.gitignore 2016-01-10 17:42:04 +0000
@@ -0,0 +1,1 @@
+/build
=== added file 'app/app.iml'
--- app/app.iml 1970-01-01 00:00:00 +0000
+++ app/app.iml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="OpenLP2" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
+ <component name="FacetManager">
+ <facet type="android-gradle" name="Android-Gradle">
+ <configuration>
+ <option name="GRADLE_PROJECT_PATH" value=":app" />
+ </configuration>
+ </facet>
+ <facet type="android" name="Android">
+ <configuration>
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
+ <option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
+ <option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
+ <option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
+ <afterSyncTasks>
+ <task>generateDebugAndroidTestSources</task>
+ <task>generateDebugSources</task>
+ </afterSyncTasks>
+ <option name="ALLOW_USER_CONFIGURATION" value="false" />
+ <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
+ <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
+ <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/src/main/res" />
+ <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
+ </configuration>
+ </facet>
+ </component>
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false">
+ <output url="file://$MODULE_DIR$/build/intermediates/classes/debug" />
+ <output-test url="file://$MODULE_DIR$/build/intermediates/classes/androidTest/debug" />
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/debug" isTestSource="false" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/debug" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/debug" isTestSource="true" generated="true" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/build/generated/res/generated/androidTest/debug" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/jni" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/jni" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/jni" isTestSource="true" />
+ <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.1/jars" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/design/22.2.1/jars" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.1/jars" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/resources" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+ <excludeFolder url="file://$MODULE_DIR$/build/intermediates/tmp" />
+ <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+ <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
+ </content>
+ <orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" exported="" name="support-v4-22.2.1" level="project" />
+ <orderEntry type="library" exported="" name="android-async-http-1.4.6" level="project" />
+ <orderEntry type="library" exported="" name="support-annotations-22.2.1" level="project" />
+ <orderEntry type="library" exported="" name="design-22.2.1" level="project" />
+ <orderEntry type="library" exported="" name="appcompat-v7-22.2.1" level="project" />
+ </component>
+</module>
\ No newline at end of file
=== added file 'app/build.gradle'
--- app/build.gradle 1970-01-01 00:00:00 +0000
+++ app/build.gradle 2016-01-10 17:42:04 +0000
@@ -0,0 +1,45 @@
+apply plugin: 'com.android.application'
+
+project.archivesBaseName = 'OpenLP'
+
+android {
+ compileSdkVersion 22
+ buildToolsVersion "21.1.2"
+
+ defaultConfig {
+ applicationId "org.openlp.android2"
+ minSdkVersion 15
+ targetSdkVersion 22
+ versionCode 5
+ versionName "2.0"
+ }
+ android {
+ lintOptions {
+ ignore 'MissingTranslation'
+ }
+ }
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
+ }
+ }
+ testOptions {
+ unitTests.returnDefaultValues = true
+}
+
+dependencies {
+ compile fileTree(include: ['*.jar'], dir: 'libs')
+ compile 'com.android.support:appcompat-v7:22.2.1'
+ compile 'com.android.support:support-v4:22.2.1'
+ compile 'com.android.support:design:22.2.1'
+ compile 'com.loopj.android:android-async-http:1.4.6'
+ testCompile 'junit:junit:4.12'
+ testCompile 'org.easytesting:fest:1.0.16'
+ testCompile 'com.squareup:fest-android:1.0.8'
+ testCompile('org.robolectric:robolectric:3.0-rc2') {
+ exclude group: 'commons-logging', module: 'commons-logging'
+ exclude group: 'org.apache.httpcomponents', module: 'httpclient'
+ }
+}
+}
\ No newline at end of file
=== added directory 'app/libs'
=== added file 'app/proguard-rules.pro'
--- app/proguard-rules.pro 1970-01-01 00:00:00 +0000
+++ app/proguard-rules.pro 2016-01-10 17:42:04 +0000
@@ -0,0 +1,17 @@
+# Add project specific ProGuard rules here.
+# By default, the flags in this file are appended to flags specified
+# in /home/tim/android-sdk/tools/proguard/proguard-android.txt
+# You can edit the include path and order by changing the proguardFiles
+# directive in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# Add any project specific keep options here:
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
=== added directory 'app/src'
=== added directory 'app/src/androidTest'
=== added directory 'app/src/androidTest/java'
=== added directory 'app/src/main'
=== added file 'app/src/main/AndroidManifest.xml'
--- app/src/main/AndroidManifest.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/AndroidManifest.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="org.openlp.android2" >
+
+ <uses-permission android:name="android.permission.INTERNET" />
+ <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+
+ <application
+ android:allowBackup="true"
+ android:icon="@drawable/ic_launcher"
+ android:label="@string/app_name"
+ android:theme="@style/AppTheme" >
+ <activity
+ android:name=".OpenLP"
+ android:label="@string/app_name"
+ android:configChanges="orientation|screenSize">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ <activity
+ android:name=".activities.SettingsActivity"
+ android:label="@string/title_activity_settings"
+ android:parentActivityName=".OpenLP" >
+ <meta-data
+ android:name="android.support.PARENT_ACTIVITY"
+ android:value="org.openlp.android2.OpenLP" />
+ </activity>
+
+ </application>
+
+</manifest>
=== added directory 'app/src/main/java'
=== added directory 'app/src/main/java/org'
=== added directory 'app/src/main/java/org/openlp'
=== added directory 'app/src/main/java/org/openlp/android2'
=== added file 'app/src/main/java/org/openlp/android2/OpenLP.java'
--- app/src/main/java/org/openlp/android2/OpenLP.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/OpenLP.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,279 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2;
+
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.content.res.Configuration;
+import android.preference.PreferenceManager;
+import android.support.v7.app.ActionBarActivity;
+import android.app.ActionBar;
+import android.app.FragmentManager;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.Menu;
+import android.view.MenuItem;
+import android.view.View;
+import android.support.v4.widget.DrawerLayout;
+import android.view.WindowManager;
+
+import org.openlp.android2.activities.SettingsActivity;
+import org.openlp.android2.common.NavigationOptions;
+import org.openlp.android2.dialogs.AlertDisplayDialog;
+import org.openlp.android2.dialogs.BlankDisplayDialog;
+import org.openlp.android2.fragments.AboutFragment;
+import org.openlp.android2.fragments.HomeFragment;
+import org.openlp.android2.fragments.LiveListFragment;
+import org.openlp.android2.fragments.LiveWebFragment;
+import org.openlp.android2.fragments.NavigationDrawerFragment;
+import org.openlp.android2.fragments.ServiceListFragment;
+import org.openlp.android2.fragments.StageWebFragment;
+
+
+public class OpenLP extends ActionBarActivity
+ implements NavigationDrawerFragment.NavigationDrawerCallbacks {
+
+ /**
+ * Fragment managing the behaviors, interactions and presentation of the navigation drawer.
+ */
+ private NavigationDrawerFragment mNavigationDrawerFragment;
+
+ /**
+ * Used to store the last screen title. For use in {@link #restoreActionBar()}.
+ */
+ private final String LOG_TAG = OpenLP.class.getName();
+ private CharSequence mTitle;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+
+ doPreferenceCheck();
+
+ mNavigationDrawerFragment = (NavigationDrawerFragment)
+ getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
+ mTitle = getTitle();
+
+ // Set up the drawer.
+ mNavigationDrawerFragment.setUp(
+ R.id.navigation_drawer,
+ (DrawerLayout) findViewById(R.id.drawer_layout));
+
+ getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
+ }
+
+ /**
+ * Check the preferences have been set at startup and if not redirect them to be set.
+ *
+ */
+ protected void doPreferenceCheck() {
+ SharedPreferences sharedPrefs = PreferenceManager
+ .getDefaultSharedPreferences(this);
+ if (sharedPrefs.getString(getString(R.string.key_host), "NONE").equals("NONE")
+ || sharedPrefs.getString(getString(R.string.key_host), null).equals(null)) {
+ Log.d(LOG_TAG,
+ "URL preference not set. Starting preference activity...");
+ Intent preferenceIntent = new Intent(this, SettingsActivity.class);
+ startActivity(preferenceIntent);
+ }
+ }
+
+ /**
+ * Handle configuration change.
+ *
+ * @param newConfig The new Config.
+ */
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ }
+
+ /**
+ * Handle the selection of the Navigation Menu
+ *
+ * @param position Which item has been selected.
+ */
+ @Override
+ public void onNavigationDrawerItemSelected(int position) {
+ // update the main content by replacing fragments
+ FragmentManager fragmentManager = getFragmentManager();
+ switch (position) {
+ case NavigationOptions.Home:
+ singleTab();
+ fragmentManager.beginTransaction()
+ .replace(R.id.container, HomeFragment.newInstance())
+ .commit();
+ mTitle = getString(R.string.home);
+ toggerContainer(R.id.next_button, View.GONE);
+ toggerContainer(R.id.prev_button, View.GONE);
+ break;
+ case NavigationOptions.ServiceList:
+ singleTab();
+ fragmentManager.beginTransaction()
+ .replace(R.id.container, ServiceListFragment.newInstance(), "servicelist")
+ .commit();
+ mTitle = getString(R.string.service_list);
+ toggerContainer(R.id.next_button, View.VISIBLE);
+ toggerContainer(R.id.prev_button, View.VISIBLE);
+ break;
+ case NavigationOptions.LiveList:
+ duelTab();
+ fragmentManager.beginTransaction()
+ .replace(R.id.container_left, ServiceListFragment.newInstance(), "servicelist")
+ .commit();
+ fragmentManager.beginTransaction()
+ .replace(R.id.container_right, LiveListFragment.newInstance())
+ .commit();
+ mTitle = getString(R.string.live_list);
+ toggerContainer(R.id.next_button, View.VISIBLE);
+ toggerContainer(R.id.prev_button, View.VISIBLE);
+ break;
+ case NavigationOptions.StageView:
+ singleTab();
+ fragmentManager.beginTransaction()
+ .replace(R.id.container, StageWebFragment.newInstance())
+ .commit();
+ mTitle = getString(R.string.stage_view);
+ toggerContainer(R.id.next_button, View.GONE);
+ toggerContainer(R.id.prev_button, View.GONE);
+ break;
+ case NavigationOptions.LiveView:
+ singleTab();
+ fragmentManager.beginTransaction()
+ .replace(R.id.container, LiveWebFragment.newInstance())
+ .commit();
+ mTitle = getString(R.string.live_view);
+ toggerContainer(R.id.next_button, View.GONE);
+ toggerContainer(R.id.prev_button, View.GONE);
+ break;
+ }
+ }
+
+ /**
+ * Set Display to allow for Duel Columns
+ */
+ protected void duelTab(){
+ toggerContainer(R.id.container, View.GONE);
+ toggerContainer(R.id.container_right, View.VISIBLE);
+ toggerContainer(R.id.container_left, View.VISIBLE);
+ }
+
+ /**
+ * Set Display to allow for Single Columns
+ */
+ protected void singleTab(){
+ toggerContainer(R.id.container_right, View.GONE);
+ toggerContainer(R.id.container_left, View.GONE);
+ toggerContainer(R.id.container, View.VISIBLE);
+ }
+
+ /**
+ *
+ * @param container The container id to be accesses
+ * @param direction What visibility to use on the container
+ */
+ protected void toggerContainer(int container, int direction){
+ View cTainer = this.findViewById(container);
+ if (cTainer != null) {
+ cTainer.setVisibility(direction);
+ }
+ }
+
+ public void restoreActionBar() {
+ try {
+ ActionBar actionBar = getActionBar();
+ //actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
+ actionBar.setDisplayShowTitleEnabled(true);
+ actionBar.setTitle(mTitle);
+ } catch (Exception e) {
+ //noop
+ }
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ if (!mNavigationDrawerFragment.isDrawerOpen()) {
+ // Only show items in the action bar relevant to this screen
+ // if the drawer is not showing. Otherwise, let the drawer
+ // decide what to show in the action bar.
+ getMenuInflater().inflate(R.menu.open_l, menu);
+ restoreActionBar();
+ return true;
+ }
+ return super.onCreateOptionsMenu(menu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ // Handle action bar item clicks here. The action bar will
+ // automatically handle clicks on the Home/Up button, so long
+ // as you specify a parent activity in AndroidManifest.xml.
+ Intent intent;
+ switch (item.getItemId()) {
+ case R.id.action_preferences:
+ intent = new Intent(this, SettingsActivity.class);
+ startActivity(intent);
+ return true;
+ case R.id.action_refresh:
+ if (this.mTitle.equals(getString(R.string.service_list))) {
+ refreshServiceFragment(R.id.container);
+ } else if (this.mTitle.equals(getString(R.string.live_list)) ) {
+ refreshServiceFragment(R.id.container_left);
+ refreshLiveFragment(R.id.container_right);
+ }
+ return true;
+ case R.id.action_blank:
+ new BlankDisplayDialog().show(getFragmentManager(), "BlankDialog");
+ return true;
+ case R.id.action_alert:
+ new AlertDisplayDialog().show(getFragmentManager(), "AlertDialog");
+ return true;
+ case R.id.action_about:
+ getFragmentManager().beginTransaction().replace(R.id.container,
+ new AboutFragment()).commit();
+ default:
+ return super.onOptionsItemSelected(item);
+ }
+ }
+ public void refreshLiveFragment(int container){
+ LiveListFragment fragment = (LiveListFragment)
+ getFragmentManager().findFragmentById(container);
+ if (fragment != null) {
+ fragment.refreshDisplay();
+ }
+ }
+ public void refreshServiceFragment(int container){
+ ServiceListFragment fragment = (ServiceListFragment)
+ getFragmentManager().findFragmentById(container);
+ if (fragment != null) {
+ fragment.refreshDisplay();
+ }
+ }
+
+ public void next(View view) {
+ ServiceListFragment serviceListFragment = (ServiceListFragment) getFragmentManager().findFragmentByTag("servicelist");
+ serviceListFragment.next();
+ }
+
+ public void previous(View view) {
+ ServiceListFragment serviceListFragment = (ServiceListFragment) getFragmentManager().findFragmentByTag("servicelist");
+ serviceListFragment.previous();
+ }
+}
=== added directory 'app/src/main/java/org/openlp/android2/activities'
=== added file 'app/src/main/java/org/openlp/android2/activities/SettingsActivity.java'
--- app/src/main/java/org/openlp/android2/activities/SettingsActivity.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/activities/SettingsActivity.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,219 @@
+package org.openlp.android2.activities;
+
+import android.annotation.TargetApi;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.os.Build;
+import android.os.Bundle;
+import android.preference.ListPreference;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceCategory;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
+
+import org.openlp.android2.R;
+
+import java.util.List;
+
+/**
+ * A {@link PreferenceActivity} that presents a set of application settings. On
+ * handset devices, settings are presented as a single list. On tablets,
+ * settings are split by category, with category headers shown to the left of
+ * the list of settings.
+ * <p/>
+ * See <a href="http://developer.android.com/design/patterns/settings.html">
+ * Android Design: Settings</a> for design guidelines and the <a
+ * href="http://developer.android.com/guide/topics/ui/settings.html">Settings
+ * API Guide</a> for more information on developing a Settings UI.
+ */
+public class SettingsActivity extends PreferenceActivity {
+ /**
+ * Determines whether to always show the simplified settings UI, where
+ * settings are presented in a single list. When false, settings are shown
+ * as a master/detail two-pane view on tablets. When true, a single pane is
+ * shown on tablets.
+ */
+ private static final boolean ALWAYS_SIMPLE_PREFS = false;
+
+
+ @Override
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+
+ setupSimplePreferencesScreen();
+ }
+
+ /**
+ * Shows the simplified settings UI if the device configuration if the
+ * device configuration dictates that a simplified, single-pane UI should be
+ * shown.
+ */
+ private void setupSimplePreferencesScreen() {
+ if (!isSimplePreferences(this)) {
+ return;
+ }
+
+ // In the simplified UI, fragments are not used at all and we instead
+ // use the older PreferenceActivity APIs.
+
+ // Add 'general' preferences.
+ addPreferencesFromResource(R.xml.pref_general);
+
+ // Add 'notifications' preferences, and a corresponding header.
+ PreferenceCategory fakeHeader = new PreferenceCategory(this);
+ fakeHeader.setTitle(R.string.connection_configuration);
+ getPreferenceScreen().addPreference(fakeHeader);
+ addPreferencesFromResource(R.xml.pref_notification);
+
+ // Bind the summaries of EditText/List/Dialog/Ringtone preferences to
+ // their values. When their values change, their summaries are updated
+ // to reflect the new value, per the Android Design guidelines.
+ bindPreferenceSummaryToValue(findPreference("key_text_size"));
+ bindPreferenceSummaryToValue(findPreference("key_connection_timeout"));
+ bindPreferenceSummaryToValue(findPreference("key_host"));
+ bindPreferenceSummaryToValue(findPreference("key_port"));
+ bindPreferenceSummaryToValue(findPreference("key_userid"));
+ bindPreferenceSummaryToValue(findPreference("key_password"));
+
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean onIsMultiPane() {
+ return isXLargeTablet(this) && !isSimplePreferences(this);
+ }
+
+ /**
+ * Helper method to determine if the device has an extra-large screen. For
+ * example, 10" tablets are extra-large.
+ */
+ private static boolean isXLargeTablet(Context context) {
+ return (context.getResources().getConfiguration().screenLayout
+ & Configuration.SCREENLAYOUT_SIZE_MASK) >= Configuration.SCREENLAYOUT_SIZE_XLARGE;
+ }
+
+ /**
+ * Determines whether the simplified settings UI should be shown. This is
+ * true if this is forced via {@link #ALWAYS_SIMPLE_PREFS}, or the device
+ * doesn't have newer APIs like {@link PreferenceFragment}, or the device
+ * doesn't have an extra-large screen. In these cases, a single-pane
+ * "simplified" settings UI should be shown.
+ */
+ private static boolean isSimplePreferences(Context context) {
+ return ALWAYS_SIMPLE_PREFS
+ || Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB
+ || !isXLargeTablet(context);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public void onBuildHeaders(List<Header> target) {
+ if (!isSimplePreferences(this)) {
+ loadHeadersFromResource(R.xml.pref_headers, target);
+ }
+ }
+
+ @Override
+ protected boolean isValidFragment (String fragmentName) {
+ return true;
+ }
+
+ /**
+ * A preference value change listener that updates the preference's summary
+ * to reflect its new value.
+ */
+ private static Preference.OnPreferenceChangeListener sBindPreferenceSummaryToValueListener = new Preference.OnPreferenceChangeListener() {
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object value) {
+ String stringValue = value.toString();
+
+ if (preference instanceof ListPreference) {
+ // For list preferences, look up the correct display value in
+ // the preference's 'entries' list.
+ ListPreference listPreference = (ListPreference) preference;
+ int index = listPreference.findIndexOfValue(stringValue);
+
+ // Set the summary to reflect the new value.
+ preference.setSummary(
+ index >= 0
+ ? listPreference.getEntries()[index]
+ : null);
+
+ } else {
+ // For all other preferences, set the summary to the value's
+ // simple string representation.
+ preference.setSummary(stringValue);
+ }
+ return true;
+ }
+ };
+
+ /**
+ * Binds a preference's summary to its value. More specifically, when the
+ * preference's value is changed, its summary (line of text below the
+ * preference title) is updated to reflect the value. The summary is also
+ * immediately updated upon calling this method. The exact display format is
+ * dependent on the type of preference.
+ *
+ * @see #sBindPreferenceSummaryToValueListener
+ */
+ private static void bindPreferenceSummaryToValue(Preference preference) {
+ // Set the listener to watch for value changes.
+ preference.setOnPreferenceChangeListener(sBindPreferenceSummaryToValueListener);
+
+ // Trigger the listener immediately with the preference's current value.
+ sBindPreferenceSummaryToValueListener.onPreferenceChange(preference,
+ PreferenceManager
+ .getDefaultSharedPreferences(preference.getContext())
+ .getString(preference.getKey(), ""));
+ }
+
+ /**
+ * This fragment shows general preferences only. It is used when the
+ * activity is showing a two-pane settings UI.
+ */
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public static class GeneralPreferenceFragment extends PreferenceFragment {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.pref_general);
+
+ // Bind the summaries of EditText/List/Dialog/Ringtone preferences
+ // to their values. When their values change, their summaries are
+ // updated to reflect the new value, per the Android Design
+ // guidelines.
+ bindPreferenceSummaryToValue(findPreference("key_text_size"));
+ }
+
+ }
+
+ /**
+ * This fragment shows notification preferences only. It is used when the
+ * activity is showing a two-pane settings UI.
+ */
+ @TargetApi(Build.VERSION_CODES.HONEYCOMB)
+ public static class NotificationPreferenceFragment extends PreferenceFragment {
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ addPreferencesFromResource(R.xml.pref_notification);
+
+ // Bind the summaries of EditText/List/Dialog/Ringtone preferences
+ // to their values. When their values change, their summaries are
+ // updated to reflect the new value, per the Android Design
+ // guidelines.
+ bindPreferenceSummaryToValue(findPreference("key_connection_timeout"));
+ bindPreferenceSummaryToValue(findPreference("key_host"));
+ bindPreferenceSummaryToValue(findPreference("key_port"));
+ bindPreferenceSummaryToValue(findPreference("key_userid"));
+ bindPreferenceSummaryToValue(findPreference("key_password"));
+ }
+ }
+}
=== added directory 'app/src/main/java/org/openlp/android2/api'
=== added file 'app/src/main/java/org/openlp/android2/api/Api.java'
--- app/src/main/java/org/openlp/android2/api/Api.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/api/Api.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,125 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.api;
+
+/**
+ * <h1>Routes:</h1>
+ * <p/>
+ * <p/>
+ * <pre>
+ * ``/``
+ * Go to the web interface.
+ *
+ * ``/files/{filename}``
+ *
+ * ``/api/poll``
+ * {"results": {"type": "controller"}}
+ * Or, if there were no results, False::
+ * {"results": False}
+ *
+ * ``/api/display/{hide|show}``
+ * Blank or unblank the screen.
+ *
+ * ``/api/alert``
+ * {"request": {"text": "<your alert text>"}}
+ * ``/api/controller/{live|preview}/{action}``
+ * ``next``
+ * Load the next slide.
+ *
+ * ``previous``
+ * Load the previous slide.
+ *
+ * ``set``
+ * Set a specific slide. Requires an id return in a JSON-encoded dict like
+ * this::
+ *
+ * {"request": {"id": 1}}
+ *
+ * ``first``
+ * Load the first slide.
+ *
+ * ``last``
+ * Load the last slide.
+ *
+ * ``text``
+ * Fetches the text of the current song. The output is a JSON-encoded
+ * dict which looks like this::
+ *
+ * {"result": {"slides": ["...", "..."]}}
+ *
+ * ``/api/service/{action}``
+ * Perform ``{action}`` on the service manager (e.g. go live). Data is
+ * passed as a json-encoded ``data`` parameter. Valid actions are:
+ *
+ * ``next``
+ * Load the next item in the service.
+ *
+ * ``previous``
+ *
+ * ``set``
+ * Set a specific item in the service. Requires an id returned in a
+ * JSON-encoded dict like this::
+ *
+ * {"request": {"id": 1}}
+ *
+ * ``list``
+ * Request a list of items in the service. Returns a list of items in the
+ * current service in a JSON-encoded dict like this::
+ *
+ * {"results": {"items": [{...}, {...}]}}
+ * """
+ * </pre>
+ */
+
+public interface Api {
+
+ public final String LIVE_BASE = "/api/controller/live/";
+ public final String LIVE_NEXT = "/api/controller/live/next";
+ public final String LIVE_PREVIOUS = "/api/controller/live/previous";
+ public final String LIVE_TEXT = "/api/controller/live/text";
+ public final String LIVE_SET = "/api/controller/live/set?data=";
+ public final String STAGE_VIEW = "/stage";
+ public final String LIVE_VIEW = "/main";
+
+ public final String SERVICE_LIST = "/api/service/list";
+ public final String SERVICE_SET = "/api/service/set?data=";
+
+ public final String DISPLAY_SHOW = "/api/display/show";
+ public final String DISPLAY_BLANK = "/api/display/blank";
+ public final String DISPLAY_THEME = "/api/display/theme";
+ public final String DISPLAY_DESKTOP = "/api/display/desktop";
+ public final String POLL_STATUS = "/api/poll";
+
+ public final String ALERT = "/api/alert?data=";
+
+ public final String SEARCHABLE_PLUGINS = "/api/plugin/search";
+ /**
+ * This is a special string that uses the String.format() method. See
+ * {@link String#format(String, Object...)}
+ */
+ public final String SEARCH_PLUGIN_FORMATTED = "/api/%s/search?data=";
+ /**
+ * Match intent extra key with regex since multiple plugins can be inserted
+ */
+ public final String SEARCH_PLUGIN_ADD = "/api/%s/add?data=";
+ /**
+ * Match intent extra key with regex since multiple plugins can be inserted
+ */
+ public final String SEARCH_PLUGIN_LIVE = "/api/%s/live?data=";
+}
=== added directory 'app/src/main/java/org/openlp/android2/common'
=== added file 'app/src/main/java/org/openlp/android2/common/JsonHelpers.java'
--- app/src/main/java/org/openlp/android2/common/JsonHelpers.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/common/JsonHelpers.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.common;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.json.JSONStringer;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+
+public class JsonHelpers {
+
+ private static String LOG_TAG = JsonHelpers.class.getName();
+
+ public static String createRequestJSON(String key, String value) throws JSONHandlerException {
+ try {
+ String responseJSON;
+ JSONObject jo = new JSONObject();
+ jo.put(key, value);
+ responseJSON = new JSONStringer().object().key("request").value(jo)
+ .endObject().toString();
+ responseJSON = URLEncoder.encode(responseJSON, "UTF-8");
+ return responseJSON;
+ } catch (JSONException e) {
+ throw new JSONHandlerException(e);
+ } catch (UnsupportedEncodingException e) {
+ throw new JSONHandlerException(e);
+ }
+ }
+
+ public static class JSONHandlerException extends Exception {
+ private static final long serialVersionUID = -6772307308404816615L;
+
+ public JSONHandlerException(Throwable throwable) {
+ super(throwable);
+ }
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/common/NavigationOptions.java'
--- app/src/main/java/org/openlp/android2/common/NavigationOptions.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/common/NavigationOptions.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,27 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.common;
+
+public class NavigationOptions{
+ public final static int Home = 0;
+ public final static int ServiceList = 1;
+ public final static int LiveList = 2;
+ public final static int StageView = 3;
+ public final static int LiveView = 4;
+}
=== added file 'app/src/main/java/org/openlp/android2/common/OpenLPDialog.java'
--- app/src/main/java/org/openlp/android2/common/OpenLPDialog.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/common/OpenLPDialog.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.common;
+
+import android.app.DialogFragment;
+import android.content.Context;
+import android.util.Log;
+import android.widget.Toast;
+import com.loopj.android.http.AsyncHttpClient;
+import com.loopj.android.http.TextHttpResponseHandler;
+import org.apache.http.Header;
+import org.openlp.android2.R;
+import org.openlp.android2.api.Api;
+
+
+abstract public class OpenLPDialog extends DialogFragment {
+
+ private final String LOG_TAG = OpenLPDialog.class.getName();
+ protected String calledURL;
+ protected OpenLPHttpClient httpClient;
+ protected Context context;
+
+ private static AsyncHttpClient client = new AsyncHttpClient();
+
+ protected void populateDisplay(String responseString) {}
+ protected void processUpdate(String responseString) {}
+ protected void errorDisplay(int statusCode, String responseString) {}
+
+ protected void triggerTextRequest(String url) {
+ calledURL = url;
+ Log.d(LOG_TAG, "Trigger Request for url " + url);
+ String callurl = String.format("%s%s", httpClient.getAbsoluteUrl(client), url );
+ client.get(callurl, null, new TextHttpResponseHandler() {
+ @Override
+ public void onSuccess(int statusCode, Header[] headers, String responseString) {
+ // called when response HTTP status is "200 OK"
+ manageResponse(responseString);
+ }
+ @Override
+ public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
+ // called when response HTTP status is "4XX" (eg. 401, 403, 404)
+ if (statusCode == 401) {
+ Toast.makeText(context, R.string.httpreturn_unauthorised, Toast.LENGTH_LONG).show();
+ } else {
+ Toast.makeText(context, R.string.unable, Toast.LENGTH_LONG).show();
+ }
+ errorDisplay(statusCode, responseString);
+ }
+ });
+ }
+
+ public void manageResponse(String response) {
+ if (calledURL.equals(Api.POLL_STATUS)) {
+ populateDisplay(response);
+ }else {
+ processUpdate(response);
+ }
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/common/OpenLPFragment.java'
--- app/src/main/java/org/openlp/android2/common/OpenLPFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/common/OpenLPFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,97 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.common;
+
+
+import android.app.ListFragment;
+import android.content.Context;
+import android.util.Log;
+import android.view.View;
+
+import android.widget.ListView;
+import android.widget.Toast;
+import com.loopj.android.http.AsyncHttpClient;
+import com.loopj.android.http.TextHttpResponseHandler;
+import org.apache.http.Header;
+import org.openlp.android2.R;
+import org.openlp.android2.api.Api;
+
+abstract public class OpenLPFragment extends ListFragment{
+
+ private String LOG_TAG = OpenLPFragment.class.getName();
+ public Context context;
+ protected String calledURL;
+ protected OpenLPHttpClient httpClient;
+ protected String updateUrl;
+
+ abstract public void itemClicked(int position);
+
+ @Override
+ public void onListItemClick(ListView l, View v, int position, long id) {
+ super.onListItemClick(l, v, position, id);
+ itemClicked(position);
+ }
+
+ private static AsyncHttpClient client = new AsyncHttpClient();
+
+ protected void refreshDisplay(){}
+ protected void populateDisplay(String responseString, boolean inError) {}
+ protected void processUpdate(String responseString, boolean inError) {}
+
+ protected void triggerTextRequest(String url) {
+ calledURL = url;
+ Log.d(LOG_TAG, "Trigger Request for url " + url);
+ String callurl = String.format("%s%s", httpClient.getAbsoluteUrl(client), url );
+ client.get(callurl, null, new TextHttpResponseHandler() {
+ @Override
+ public void onSuccess(int statusCode, Header[] headers, String responseString) {
+ // called when response HTTP status is "200 OK"
+ manageResponse(responseString, true);
+ }
+ @Override
+ public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) {
+ // called when response HTTP status is "4XX" (eg. 401, 403, 404)
+ if (statusCode == 401) {
+ Toast.makeText(context, R.string.httpreturn_unauthorised, Toast.LENGTH_LONG).show();
+ } else {
+ Toast.makeText(context, R.string.unable, Toast.LENGTH_LONG).show();
+ }
+ manageResponse(responseString, false);
+ }
+ });
+ }
+
+ public void manageResponse(String response, boolean notInError) {
+ if (calledURL.equals(updateUrl)) {
+ populateDisplay(response, notInError);
+ }else {
+ processUpdate(response, notInError);
+ }
+ }
+
+ public void next() {
+ Log.d(LOG_TAG, "Going to next slide");
+ triggerTextRequest(Api.LIVE_NEXT);
+ }
+
+ public void previous() {
+ Log.d(LOG_TAG, "Going to previous slide");
+ triggerTextRequest(Api.LIVE_PREVIOUS);
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/common/OpenLPHttpClient.java'
--- app/src/main/java/org/openlp/android2/common/OpenLPHttpClient.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/common/OpenLPHttpClient.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,97 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.common;
+
+
+import java.security.KeyStore;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import com.loopj.android.http.AsyncHttpClient;
+import org.openlp.android2.R;
+
+/**
+ * Personalised HttpClient to be used throughout OpenLP with customisable
+ * parameters.
+ */
+public class OpenLPHttpClient {
+
+ private final String LOG_TAG = OpenLPHttpClient.class.getName();
+ private Context context;
+ private Boolean useSSL = Boolean.FALSE;
+
+ public OpenLPHttpClient(Context context) {
+ this.context = context;
+ }
+
+ public String getAbsoluteUrl(AsyncHttpClient client) {
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+
+ String urlBase = getBaseUrl();
+
+ Log.d(LOG_TAG, "Base Url set to " + urlBase);
+
+ String userid = sharedPrefs.getString(context.getString(R.string.key_userid), "openlp");
+
+ String password = sharedPrefs.getString(context.getString(R.string.key_password), "password");
+
+ Log.d(LOG_TAG, "Credentials set to " + userid + " : " + password);
+ client.setBasicAuth(userid,password);
+
+ int connectionTimeout = context.getResources().getInteger(
+ R.integer.connectionTimeoutDefaultValue);
+
+ if (sharedPrefs.getBoolean(context.getString(R.string.key_enable_custom_timeout), false)) {
+ Log.d(LOG_TAG, "Overriding Connection and Socket timeouts");
+
+ connectionTimeout = Integer.parseInt(sharedPrefs.getString(context.getString(R.string.key_connection_timeout),
+ String.valueOf(context.getResources().getInteger(R.integer.connectionTimeoutDefaultValue))
+ ));
+ }
+ client.setTimeout(connectionTimeout);
+ if (useSSL){
+ try {
+ KeyStore trustStore = KeyStore.getInstance((KeyStore.getDefaultType()));
+ trustStore.load(null, null);
+ OpenLPSSLSocketFactory sf = new OpenLPSSLSocketFactory(trustStore);
+ sf.setHostnameVerifier((OpenLPSSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER));
+ client.setSSLSocketFactory(sf);
+ }
+ catch (Exception e){
+ //
+ }
+ }
+ return urlBase;
+ }
+
+ public String getBaseUrl(){
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+
+ useSSL = sharedPrefs.getBoolean(context.getString(R.string.key_ssl_use), false);
+ String host = sharedPrefs.getString(context.getString(R.string.key_host),
+ context.getString(R.string.host_default_value));
+ String port = sharedPrefs.getString(context.getString(R.string.key_port), "4316");
+
+ return String.format("http%s://%s:%s", useSSL ? "s" : "", host, port);
+
+ }
+
+}
=== added file 'app/src/main/java/org/openlp/android2/common/OpenLPHttpReturn.java'
--- app/src/main/java/org/openlp/android2/common/OpenLPHttpReturn.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/common/OpenLPHttpReturn.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,61 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.common;
+
+import android.content.Context;
+import org.openlp.android2.R;
+
+public class OpenLPHttpReturn {
+ private int return_code = 0;
+ private String data = null;
+ private Context context;
+
+ public OpenLPHttpReturn() {
+ this.return_code = -1;
+ this.data = "";
+ this.context = null;
+ }
+
+ public OpenLPHttpReturn(int return_code, String data, Context context) {
+ this.return_code = return_code;
+ this.data = data;
+ this.context = context;
+ }
+
+ public String getData() {
+ return this.data;
+ }
+
+ public boolean isError() {
+ return return_code != 0;
+ }
+
+ public boolean isSecurityError() {
+ return return_code == 401;
+ }
+
+ public String getErrorMessage(String message) {
+ return return_code == 401 ? this.context.getString(R.string.httpreturn_unauthorised) : message;
+ }
+
+ @Override
+ public String toString() {
+ return "HttpReturn{" + "data='" + data + '\'' + ", return code=" + return_code + '}';
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/common/OpenLPSSLSocketFactory.java'
--- app/src/main/java/org/openlp/android2/common/OpenLPSSLSocketFactory.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/common/OpenLPSSLSocketFactory.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,66 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.common;
+
+import org.apache.http.conn.ssl.SSLSocketFactory;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import java.io.IOException;
+import java.net.Socket;
+import java.net.UnknownHostException;
+import java.security.*;
+import java.security.cert.CertificateException;
+import java.security.cert.X509Certificate;
+
+/**
+ * Created by tim on 14/11/14.
+ */
+public class OpenLPSSLSocketFactory extends SSLSocketFactory {
+ SSLContext sslContext = SSLContext.getInstance("TLS");
+
+ public OpenLPSSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
+ super(truststore);
+
+ TrustManager tm = new X509TrustManager() {
+ public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
+ }
+
+ public X509Certificate[] getAcceptedIssuers() {
+ return null;
+ }
+ };
+
+ sslContext.init(null, new TrustManager[] { tm }, null);
+ }
+
+ @Override
+ public Socket createSocket(Socket socket, String host, int port, boolean autoClose) throws IOException, UnknownHostException {
+ return sslContext.getSocketFactory().createSocket(socket, host, port, autoClose);
+ }
+
+ @Override
+ public Socket createSocket() throws IOException {
+ return sslContext.getSocketFactory().createSocket();
+ }
+}
=== added directory 'app/src/main/java/org/openlp/android2/dialogs'
=== added file 'app/src/main/java/org/openlp/android2/dialogs/AlertDisplayDialog.java'
--- app/src/main/java/org/openlp/android2/dialogs/AlertDisplayDialog.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/dialogs/AlertDisplayDialog.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,107 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.dialogs;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.EditText;
+import android.widget.Toast;
+import org.openlp.android2.R;
+import org.openlp.android2.api.Api;
+import org.openlp.android2.common.JsonHelpers;
+import org.openlp.android2.common.OpenLPDialog;
+import org.openlp.android2.common.OpenLPHttpClient;
+
+public class AlertDisplayDialog extends OpenLPDialog {
+ private final String LOG_TAG = AlertDisplayDialog.class.getName();
+ public AlertDialog dialog;
+
+ /**
+ * The system calls this only when creating the layout in a dialog.
+ */
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ // The only reason you might override this method when using onCreateView() is
+ // to modify any dialog characteristics. For example, the dialog includes a
+ // title by default, but your custom layout might not need it. So here you can
+ // remove the dialog title, but you must call the superclass to get the Dialog.
+
+ context = getActivity();
+ httpClient = new OpenLPHttpClient(context);
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ // Get the layout inflater
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+
+ // Inflate and set the layout for the dialog
+ // Pass null as the parent view because its going in the dialog layout
+ View view = inflater.inflate(R.layout.alert_display_dialog, null);
+ builder.setView(view);
+
+ builder.setPositiveButton(R.string.cancel, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ AlertDisplayDialog.this.getDialog().cancel();
+ }
+ });
+ builder.setNegativeButton(R.string.process, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog1, int id) {
+ EditText text = (EditText) dialog.findViewById(R.id.alertText);
+ requestAlert(text.getText().toString());
+ }
+ });
+ dialog = builder.create();
+ dialog.setOnShowListener(new DialogInterface.OnShowListener() {
+ @Override
+ public void onShow(DialogInterface dialogI) {
+ Button btnNegative = dialog.getButton(Dialog.BUTTON_NEGATIVE);
+ btnNegative.setTextSize(20);
+ Button btnPositive = dialog.getButton(Dialog.BUTTON_POSITIVE);
+ btnPositive.setTextSize(20);
+ }
+ });
+ return dialog;
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ Log.d(LOG_TAG, "Resuming...");
+ }
+
+ public void processUpdate(String response) {
+ Toast.makeText(context, "Alert Requested", Toast.LENGTH_SHORT).show();
+ }
+
+ public void requestAlert(String text) {
+ try {
+ String request = JsonHelpers.createRequestJSON("text", text);
+ triggerTextRequest(String.format("%s%s", Api.ALERT, request));
+ Log.d(LOG_TAG, String.format("Setting list data. apiBase(%s), text(%s)", Api.ALERT, text));
+ } catch (JsonHelpers.JSONHandlerException e) {
+ e.printStackTrace();
+ Toast.makeText(context, "Request Failed", Toast.LENGTH_SHORT).show();
+ }
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/dialogs/BlankDisplayDialog.java'
--- app/src/main/java/org/openlp/android2/dialogs/BlankDisplayDialog.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/dialogs/BlankDisplayDialog.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,161 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.dialogs;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.RadioButton;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.openlp.android2.R;
+import org.openlp.android2.api.Api;
+
+import org.openlp.android2.common.OpenLPDialog;
+import org.openlp.android2.common.OpenLPHttpClient;
+
+public class BlankDisplayDialog extends OpenLPDialog {
+ private final String LOG_TAG = BlankDisplayDialog.class.getName();
+ public AlertDialog dialog;
+ RadioButton desktop;
+ RadioButton screen;
+ RadioButton theme;
+ RadioButton reset;
+
+ /**
+ * The system calls this only when creating the layout in a dialog.
+ */
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ // The only reason you might override this method when using onCreateView() is
+ // to modify any dialog characteristics. For example, the dialog includes a
+ // title by default, but your custom layout might not need it. So here you can
+ // remove the dialog title, but you must call the superclass to get the Dialog.
+
+ context = getActivity();
+ httpClient = new OpenLPHttpClient(context);
+
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+ // Get the layout inflater
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+
+ // Inflate and set the layout for the dialog
+ // Pass null as the parent view because its going in the dialog layout
+ View view = inflater.inflate(R.layout.blank_display_dialog, null);
+ builder.setView(view);
+
+ reset = (RadioButton) view.findViewById(R.id.buttonReset);
+ reset.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ triggerTextRequest(Api.DISPLAY_SHOW);
+ }
+ });
+ screen = (RadioButton) view.findViewById(R.id.buttonScreen);
+ screen.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ triggerTextRequest(Api.DISPLAY_BLANK);
+ }
+ });
+ theme = (RadioButton) view.findViewById(R.id.buttonTheme);
+ theme.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ triggerTextRequest(Api.DISPLAY_THEME);
+ }
+ });
+ desktop = (RadioButton) view.findViewById(R.id.buttonDesktop);
+ desktop.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ triggerTextRequest(Api.DISPLAY_DESKTOP);
+ }
+ });
+ builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ BlankDisplayDialog.this.getDialog().cancel();
+ }
+ });
+ dialog = builder.create();
+ dialog.setOnShowListener(new DialogInterface.OnShowListener() {
+ @Override
+ public void onShow(DialogInterface dialogI) {
+ Button btnNegative = dialog.getButton(Dialog.BUTTON_NEGATIVE);
+ btnNegative.setTextSize(20);
+ }
+ });
+ return dialog;
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ Log.d(LOG_TAG, "Resuming...");
+ triggerTextRequest(Api.POLL_STATUS);
+ Log.d(LOG_TAG, "Resumed...");
+ }
+
+ public void processUpdate(String response) {
+ triggerTextRequest(Api.POLL_STATUS);
+ }
+
+ public void populateDisplay(String json) {
+ Log.d(LOG_TAG, "populateDisplay : " + json );
+ reset_display();
+ try {
+ JSONObject item = new JSONObject(json).getJSONObject("results");
+ if (item.getString("theme").equals("true")){
+ theme.setChecked(true);
+ } else {
+ if (item.getString("blank").equals("true")){
+ screen.setChecked(true);
+ } else{
+ if (item.getString("display").equals("true")){
+ desktop.setChecked(true);
+ } else{
+ reset.setChecked(true);
+ }
+ }
+ }
+ } catch (JSONException e) {
+ Log.e(LOG_TAG, "Exception with Json = " + json);
+ e.printStackTrace();
+ }
+ }
+
+ public void errorDisplay(int statusCode, String responseString) {
+ Log.d(LOG_TAG, String.format("URL Error status code %d text %s", statusCode, responseString));
+ reset_display();
+ }
+
+ private void reset_display(){
+ screen.setChecked(false);
+ theme.setChecked(false);
+ desktop.setChecked(false);
+ reset.setChecked(false);
+ }
+}
=== added directory 'app/src/main/java/org/openlp/android2/fragments'
=== added file 'app/src/main/java/org/openlp/android2/fragments/AboutFragment.java'
--- app/src/main/java/org/openlp/android2/fragments/AboutFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/fragments/AboutFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.fragments;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+import org.openlp.android2.R;
+
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+public class AboutFragment extends Fragment {
+
+ public AboutFragment() {
+ // Empty constructor required for fragment subclasses
+ }
+
+ public static AboutFragment newInstance() {
+ return new AboutFragment();
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
+ View view = inflater.inflate(R.layout.fragment_about, container, false);
+
+ String date = new SimpleDateFormat("yyyy").format(new Date());
+
+ StringBuilder html = new StringBuilder();
+ html.append(getString(R.string.about_display_1));
+ html.append("\n");
+ html.append(getString(R.string.about_display_2));
+ html.append(" http://www.openlp.org");
+ html.append("\n\n\n");
+ html.append(getString(R.string.about_display_4));
+ html.append(" © 2004-").append(date).append(" Raoul Snyman\n");
+ html.append(getString(R.string.about_display_5));
+ html.append(" © 2004-").append(date);
+ html.append("\nTim Bentley, Tomas Groth, Johan Mynhardt");
+ html.append("\n\n\n");
+ html.append(getString(R.string.about_display_6));
+ html.append("\n");
+ html.append(getString(R.string.about_display_7));
+ html.append("\n");
+ html.append(getString(R.string.about_display_8));
+
+ ((TextView) view.findViewById(R.id.about_text)).setText(html);
+
+ return view;
+ }
+}
\ No newline at end of file
=== added file 'app/src/main/java/org/openlp/android2/fragments/HomeFragment.java'
--- app/src/main/java/org/openlp/android2/fragments/HomeFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/fragments/HomeFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.fragments;
+
+import android.app.Fragment;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import org.openlp.android2.R;
+
+
+public class HomeFragment extends Fragment {
+ private View displayView;
+
+ public HomeFragment() {
+ // Empty constructor required for fragment subclasses
+ }
+
+ public static HomeFragment newInstance() {
+ return new HomeFragment();
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
+ displayView = inflater.inflate(R.layout.fragment_home, container, false);
+ displayIcon();
+ return displayView;
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ displayIcon();
+ }
+
+ private void displayIcon(){
+ int imageId = getResources().getIdentifier("openlp_splash_screen","drawable", getActivity().getPackageName());
+ ((ImageView) displayView.findViewById(R.id.home_image)).setImageResource(imageId);
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/fragments/LiveListFragment.java'
--- app/src/main/java/org/openlp/android2/fragments/LiveListFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/fragments/LiveListFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,185 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.fragments;
+
+import android.content.Context;
+import android.graphics.Color;
+import android.graphics.Typeface;
+import android.os.Bundle;
+import android.content.SharedPreferences;
+import android.preference.PreferenceManager;
+import android.text.Html;
+import android.util.Log;
+import android.util.TypedValue;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ListAdapter;
+import android.widget.SimpleAdapter;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.openlp.android2.R;
+import org.openlp.android2.api.Api;
+import org.openlp.android2.common.JsonHelpers;
+import org.openlp.android2.common.OpenLPFragment;
+import org.openlp.android2.common.OpenLPHttpClient;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+public class LiveListFragment extends OpenLPFragment {
+
+ private int selected = 0;
+
+ private String LOG_TAG = LiveListFragment.class.getName();
+
+ public static LiveListFragment newInstance() {
+ return new LiveListFragment();
+ }
+
+ /**
+ * Mandatory empty constructor for the fragment manager to instantiate the
+ * fragment (e.g. upon screen orientation changes).
+ */
+ public LiveListFragment() {
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ context = getActivity();
+ updateUrl = Api.LIVE_TEXT;
+ httpClient = new OpenLPHttpClient(context);
+ return super.onCreateView(inflater, container, savedInstanceState);
+ }
+
+ @Override
+ public void populateDisplay(String json, boolean notInError) {
+ Log.i(LOG_TAG, "populate_display - entry");
+ List<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>();
+ selected = 0;
+
+ if (notInError) {
+
+ try {
+ JSONArray items = new JSONObject(json).getJSONObject("results").getJSONArray("slides");
+ for (int i = 0; i < items.length(); ++i) {
+ JSONObject item = items.getJSONObject(i);
+
+ HashMap<String, String> hm = new HashMap<String, String>();
+ hm.put("tag", item.getString("tag"));
+ if (item.getString("selected").equals("true")) {
+ selected = i;
+ }
+ hm.put("liveListNormal", Html.fromHtml(item.getString("html")).toString());
+ aList.add(hm);
+ }
+ } catch (JSONException e) {
+ Log.e(LOG_TAG,json);
+ e.printStackTrace();
+ }
+ }
+
+ // Keys used in Hashmap
+ String[] from = {"tag", "liveListNormal", "liveListSelected"};
+
+ // Ids of views in live_list_fragment
+ int[] to = {R.id.tag, R.id.liveListNormal, R.id.liveListSelected};
+
+ SharedPreferences prefs = context.getSharedPreferences(
+ context.getString(R.string.key_shared_preferences),
+ Context.MODE_PRIVATE);
+
+ final int size = Integer.parseInt(prefs.getString(
+ context.getString(R.string.key_text_size),
+ String.valueOf(context.getResources().getInteger(
+ R.integer.textSizeDefaultValue))));
+
+ // Instantiating an adapter to store each items
+ ListAdapter adapter = new SimpleAdapter(getActivity().getBaseContext(), aList,
+ R.layout.fragment_livelist, from, to) {
+ public View getView(int position, View convertView, ViewGroup parent) {
+ View view = super.getView(position, convertView, parent);
+ TextView text1 = (TextView) view.findViewById(R.id.tag);
+ text1.setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
+ TextView text2 = (TextView) view.findViewById(R.id.liveListNormal);
+ text2.setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
+ if (selected == position) {
+ text2.setTextColor(Color.parseColor("#000000"));
+ text2.setTypeface(null, Typeface.BOLD_ITALIC);
+ } else{
+ text2.setTypeface(null, Typeface.NORMAL);
+ }
+ return view;
+
+ }
+ };
+ setListAdapter(adapter);
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Boolean autoscroll =
+ sharedPrefs.getBoolean(context.getString(R.string.key_auto_scroll), false);
+
+ if (autoscroll){
+ getListView().setSelection(selected - 1);
+ }
+ Log.i(LOG_TAG, "populate_display - exit");
+ }
+
+ @Override
+ public void refreshDisplay() {
+ Log.d(LOG_TAG, "Resuming...");
+ triggerTextRequest(Api.LIVE_TEXT);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ Log.d(LOG_TAG, "Resuming...");
+ triggerTextRequest(Api.LIVE_TEXT);
+ Log.d(LOG_TAG, "Resumed...");
+ }
+
+ public void processUpdate(String response, boolean inError) {
+ triggerTextRequest(Api.LIVE_TEXT);
+
+ }
+
+ public void itemClicked(int position) {
+ try {
+ String request = JsonHelpers.createRequestJSON("id", Integer.toString(position));
+ triggerTextRequest(String.format("%s%s", Api.LIVE_SET, request));
+ Log.d(LOG_TAG, String.format("Setting list data. apiBase(%s), position(%s)",
+ Api.LIVE_SET, position));
+ } catch (JsonHelpers.JSONHandlerException e) {
+ e.printStackTrace();
+ Toast.makeText(getActivity().getBaseContext(), "Request Failed", Toast.LENGTH_SHORT).show();
+ }
+ }
+
+}
=== added file 'app/src/main/java/org/openlp/android2/fragments/LiveWebFragment.java'
--- app/src/main/java/org/openlp/android2/fragments/LiveWebFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/fragments/LiveWebFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,33 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.fragments;
+
+import org.openlp.android2.api.Api;
+
+public class LiveWebFragment extends WebFragment {
+ public LiveWebFragment() {
+ super();
+ curURL = Api.LIVE_VIEW;
+ }
+
+ public static LiveWebFragment newInstance() {
+ return new LiveWebFragment();
+ }
+}
+
=== added file 'app/src/main/java/org/openlp/android2/fragments/NavigationDrawerFragment.java'
--- app/src/main/java/org/openlp/android2/fragments/NavigationDrawerFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/fragments/NavigationDrawerFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,340 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.fragments;
+
+import android.graphics.Color;
+import android.graphics.drawable.ColorDrawable;
+import android.os.Build;
+import android.support.v7.app.ActionBarActivity;
+import android.app.Activity;
+import android.support.v7.app.ActionBar;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.ActionBarDrawerToggle;
+import android.support.v4.view.GravityCompat;
+import android.support.v4.widget.DrawerLayout;
+import android.content.SharedPreferences;
+import android.content.res.Configuration;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.view.LayoutInflater;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.ListAdapter;
+import android.widget.ListView;
+import android.widget.SimpleAdapter;
+import android.widget.Toast;
+
+import org.openlp.android2.R;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * Fragment used for managing interactions for and presentation of a navigation drawer.
+ * See the <a href="https://developer.android.com/design/patterns/navigation-drawer.html#Interaction">
+ * design guidelines</a> for a complete explanation of the behaviors implemented here.
+ */
+public class NavigationDrawerFragment extends Fragment {
+
+ /**
+ * Remember the position of the selected item.
+ */
+ private static final String STATE_SELECTED_POSITION = "selected_navigation_drawer_position";
+
+ /**
+ * Per the design guidelines, you should show the drawer on launch until the user manually
+ * expands it. This shared preference tracks this.
+ */
+ private static final String PREF_USER_LEARNED_DRAWER = "navigation_drawer_learned";
+
+ /**
+ * A pointer to the current callbacks instance (the Activity).
+ */
+ private NavigationDrawerCallbacks mCallbacks;
+
+ /**
+ * Helper component that ties the action bar to the navigation drawer.
+ */
+ private ActionBarDrawerToggle mDrawerToggle;
+
+ private DrawerLayout mDrawerLayout;
+ private ListView mDrawerListView;
+ private View mFragmentContainerView;
+
+ private int mCurrentSelectedPosition = 0;
+ private boolean mFromSavedInstanceState;
+ private boolean mUserLearnedDrawer;
+
+ public NavigationDrawerFragment() {
+ }
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ // Read in the flag indicating whether or not the user has demonstrated awareness of the
+ // drawer. See PREF_USER_LEARNED_DRAWER for details.
+ SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getActivity());
+ mUserLearnedDrawer = sp.getBoolean(PREF_USER_LEARNED_DRAWER, false);
+
+ if (savedInstanceState != null) {
+ mCurrentSelectedPosition = savedInstanceState.getInt(STATE_SELECTED_POSITION);
+ mFromSavedInstanceState = true;
+ }
+
+ // Select either the default item (0) or the last selected item.
+ selectItem(mCurrentSelectedPosition);
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ // Indicate that this fragment would like to influence the set of actions in the action bar.
+ setHasOptionsMenu(true);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ mDrawerListView = (ListView) inflater.inflate(
+ R.layout.fragment_navigation_drawer, container, false);
+ mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
+ @Override
+ public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+ selectItem(position);
+ }
+ });
+
+ List<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>();
+ HashMap<String, String> hm = new HashMap<String, String>();
+ hm.put("title", getString(R.string.home));
+ hm.put("icon", Integer.toString(R.drawable.ic_home_black));
+ aList.add(hm);
+
+ HashMap<String, String> hm1 = new HashMap<String, String>();
+ hm1.put("title", getString(R.string.service_list));
+ hm1.put("icon", Integer.toString(R.drawable.ic_view_list_black));
+ aList.add(hm1);
+
+ HashMap<String, String> hm2 = new HashMap<String, String>();
+ hm2.put("title", getString(R.string.live_list));
+ hm2.put("icon", Integer.toString(R.drawable.ic_list_black));
+ aList.add(hm2);
+
+ HashMap<String, String> hm3 = new HashMap<String, String>();
+ hm3.put("title", getString(R.string.stage_view));
+ hm3.put("icon", Integer.toString(R.drawable.ic_live_tv_black));
+ aList.add(hm3);
+
+ HashMap<String, String> hm4 = new HashMap<String, String>();
+ hm4.put("title", getString(R.string.live_view));
+ hm4.put("icon", Integer.toString(R.drawable.ic_ondemand_video_black));
+ aList.add(hm4);
+
+ // Keys used in Hashmap
+ String[] from = {"icon", "title"};
+
+ // Ids of views in service_list_fragment
+ int[] to = {R.id.drawer_icon, R.id.drawer_text};
+
+ ListAdapter adapter = new SimpleAdapter(getActivity().getBaseContext(), aList,
+ R.layout.fragment_navigation_drawer_list, from, to);
+
+ mDrawerListView.setAdapter(adapter);
+ mDrawerListView.setItemChecked(mCurrentSelectedPosition, true);
+ return mDrawerListView;
+ }
+
+ public boolean isDrawerOpen() {
+ return mDrawerLayout != null && mDrawerLayout.isDrawerOpen(mFragmentContainerView);
+ }
+
+ /**
+ * Users of this fragment must call this method to set up the navigation drawer interactions.
+ *
+ * @param fragmentId The android:id of this fragment in its activity's layout.
+ * @param drawerLayout The DrawerLayout containing this fragment's UI.
+ */
+ public void setUp(int fragmentId, DrawerLayout drawerLayout) {
+ mFragmentContainerView = getActivity().findViewById(fragmentId);
+ mDrawerLayout = drawerLayout;
+
+ // set a custom shadow that overlays the main content when the drawer opens
+ mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
+ // set up the drawer's list view with items and click listener
+
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayHomeAsUpEnabled(true);
+ actionBar.setHomeButtonEnabled(true);
+ // OpenLP Blue
+ actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#4d7bd8")));
+ getActionBar().setDisplayHomeAsUpEnabled(true); // also required
+ if (Build.VERSION.SDK_INT >= 18) {
+ getActionBar().setHomeAsUpIndicator(
+ getResources().getDrawable(R.drawable.ic_menu_white));
+ }
+
+ // ActionBarDrawerToggle ties together the the proper interactions
+ // between the navigation drawer and the action bar app icon.
+ mDrawerToggle = new ActionBarDrawerToggle(
+ getActivity(), /* host Activity */
+ mDrawerLayout, /* DrawerLayout object */
+ R.drawable.ic_menu_white, /* nav drawer image to replace 'Up' caret */
+ R.string.navigation_drawer_open, /* "open drawer" description for accessibility */
+ R.string.navigation_drawer_close /* "close drawer" description for accessibility */
+ ) {
+ @Override
+ public void onDrawerClosed(View drawerView) {
+ super.onDrawerClosed(drawerView);
+ if (!isAdded()) {
+ return;
+ }
+
+ getActivity().supportInvalidateOptionsMenu(); // calls onPrepareOptionsMenu()
+ }
+
+ @Override
+ public void onDrawerOpened(View drawerView) {
+ super.onDrawerOpened(drawerView);
+ if (!isAdded()) {
+ return;
+ }
+
+ if (!mUserLearnedDrawer) {
+ // The user manually opened the drawer; store this flag to prevent auto-showing
+ // the navigation drawer automatically in the future.
+ mUserLearnedDrawer = true;
+ SharedPreferences sp = PreferenceManager
+ .getDefaultSharedPreferences(getActivity());
+ sp.edit().putBoolean(PREF_USER_LEARNED_DRAWER, true).apply();
+ }
+
+ getActivity().supportInvalidateOptionsMenu(); // calls onPrepareOptionsMenu()
+ }
+ };
+
+ // If the user hasn't 'learned' about the drawer, open it to introduce them to the drawer,
+ // per the navigation drawer design guidelines.
+ if (!mUserLearnedDrawer && !mFromSavedInstanceState) {
+ mDrawerLayout.openDrawer(mFragmentContainerView);
+ }
+
+ // Defer code dependent on restoration of previous instance state.
+ mDrawerLayout.post(new Runnable() {
+ @Override
+ public void run() {
+ mDrawerToggle.syncState();
+ }
+ });
+
+ mDrawerLayout.setDrawerListener(mDrawerToggle);
+ }
+
+ private void selectItem(int position) {
+ mCurrentSelectedPosition = position;
+ if (mDrawerListView != null) {
+ mDrawerListView.setItemChecked(position, true);
+ }
+ if (mDrawerLayout != null) {
+ mDrawerLayout.closeDrawer(mFragmentContainerView);
+ }
+ if (mCallbacks != null) {
+ mCallbacks.onNavigationDrawerItemSelected(position);
+ }
+ }
+
+ @Override
+ public void onAttach(Activity activity) {
+ super.onAttach(activity);
+ try {
+ mCallbacks = (NavigationDrawerCallbacks) activity;
+ } catch (ClassCastException e) {
+ throw new ClassCastException("Activity must implement NavigationDrawerCallbacks.");
+ }
+ }
+
+ @Override
+ public void onDetach() {
+ super.onDetach();
+ mCallbacks = null;
+ }
+
+ @Override
+ public void onSaveInstanceState(Bundle outState) {
+ super.onSaveInstanceState(outState);
+ outState.putInt(STATE_SELECTED_POSITION, mCurrentSelectedPosition);
+ }
+
+ @Override
+ public void onConfigurationChanged(Configuration newConfig) {
+ super.onConfigurationChanged(newConfig);
+ // Forward the new configuration the drawer toggle component.
+ mDrawerToggle.onConfigurationChanged(newConfig);
+ }
+
+ @Override
+ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+ // If the drawer is open, show the global app actions in the action bar. See also
+ // showGlobalContextActionBar, which controls the top-left area of the action bar.
+ if (mDrawerLayout != null && isDrawerOpen()) {
+ inflater.inflate(R.menu.global, menu);
+ showGlobalContextActionBar();
+ }
+ super.onCreateOptionsMenu(menu, inflater);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ if (mDrawerToggle.onOptionsItemSelected(item)) {
+ return true;
+ }
+
+ return super.onOptionsItemSelected(item);
+ }
+
+ /**
+ * Per the navigation drawer design guidelines, updates the action bar to show the global app
+ * 'context', rather than just what's in the current screen.
+ */
+ private void showGlobalContextActionBar() {
+ ActionBar actionBar = getActionBar();
+ actionBar.setDisplayShowTitleEnabled(true);
+ actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
+ actionBar.setTitle(R.string.app_name);
+ }
+
+ private ActionBar getActionBar() {
+ return ((ActionBarActivity) getActivity()).getSupportActionBar();
+ }
+
+ /**
+ * Callbacks interface that all activities using this fragment must implement.
+ */
+ public static interface NavigationDrawerCallbacks {
+ /**
+ * Called when an item in the navigation drawer is selected.
+ */
+ void onNavigationDrawerItemSelected(int position);
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/fragments/ServiceListFragment.java'
--- app/src/main/java/org/openlp/android2/fragments/ServiceListFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/fragments/ServiceListFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,197 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.fragments;
+
+import android.app.Activity;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.graphics.Color;
+import android.graphics.Typeface;
+import android.os.Bundle;
+import android.preference.PreferenceManager;
+import android.util.Log;
+import android.util.TypedValue;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.*;
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+import org.openlp.android2.OpenLP;
+import org.openlp.android2.R;
+
+import org.openlp.android2.api.Api;
+import org.openlp.android2.common.JsonHelpers;
+import org.openlp.android2.common.OpenLPFragment;
+import org.openlp.android2.common.OpenLPHttpClient;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+public class ServiceListFragment extends OpenLPFragment {
+
+ private final String LOG_TAG = ServiceListFragment.class.getName();
+ private int selected = 0;
+
+ public ServiceListFragment() {
+ }
+
+ public static ServiceListFragment newInstance() {
+ ServiceListFragment fragment = new ServiceListFragment();
+ return fragment;
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+ context = getActivity();
+ updateUrl = Api.SERVICE_LIST;
+ httpClient = new OpenLPHttpClient(context);
+ return super.onCreateView(inflater, container, savedInstanceState);
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ }
+
+ @Override
+ public void onAttach(Activity activity) {
+ super.onAttach(activity);
+ }
+
+ @Override
+ public void onDetach() {
+ super.onDetach();
+ }
+
+ @Override
+ public void refreshDisplay() {
+ Log.d(LOG_TAG, "Resuming...");
+ triggerTextRequest(Api.SERVICE_LIST);
+ }
+
+ @Override
+ public void onResume() {
+ super.onResume();
+ Log.d(LOG_TAG, "Resuming...");
+ triggerTextRequest(Api.SERVICE_LIST);
+ Log.d(LOG_TAG, "Resumed...");
+ }
+
+ public void processUpdate(String response, boolean inError) {
+ triggerTextRequest(Api.SERVICE_LIST);
+ ((OpenLP) getActivity()).refreshLiveFragment(R.id.container_right);
+ }
+
+ @Override
+ public void populateDisplay(String json, boolean notInError) {
+ Log.i(LOG_TAG, "populate_display - entry");
+ List<HashMap<String, String>> aList = new ArrayList<HashMap<String, String>>();
+
+ if (notInError) {
+ try {
+ JSONArray items = new JSONObject(json).getJSONObject("results").getJSONArray("items");
+
+ for (int i = 0; i < items.length(); ++i) {
+ JSONObject item = items.getJSONObject(i);
+
+ HashMap<String, String> hm = new HashMap<String, String>();
+ if (item.getString("plugin").equals("songs")) {
+ hm.put("icon", Integer.toString(R.drawable.ic_my_library_music));
+ } else if (item.getString("plugin").equals("bibles")) {
+ hm.put("icon", Integer.toString(R.drawable.ic_my_library_books));
+ } else if (item.getString("plugin").equals("media")) {
+ hm.put("icon", Integer.toString(R.drawable.ic_local_movies));
+ } else if (item.getString("plugin").equals("presentations")) {
+ hm.put("icon", Integer.toString(R.drawable.ic_video_collection));
+ } else if (item.getString("plugin").equals("images")) {
+ hm.put("icon", Integer.toString(R.drawable.ic_image));
+ } else {
+ hm.put("icon", Integer.toString(R.drawable.ic_edit));
+ }
+ if (item.getString("selected").equals("true")) {
+ selected = i;
+ }
+ hm.put("title", item.getString("title"));
+ aList.add(hm);
+ }
+ } catch (JSONException e) {
+ e.printStackTrace();
+ }
+ }
+
+ // Keys used in Hashmap
+ String[] from = {"icon", "title"};
+
+ // Ids of views in service_list_fragment
+ int[] to = {R.id.icon, R.id.serviceListText};
+
+ SharedPreferences prefs = context.getSharedPreferences(
+ context.getString(R.string.key_shared_preferences),
+ Context.MODE_PRIVATE);
+
+ final int size = Integer.parseInt(prefs.getString(
+ context.getString(R.string.key_text_size),
+ String.valueOf(context.getResources().getInteger(
+ R.integer.textSizeDefaultValue))));
+
+ // Instantiating an adapter to store each items
+ ListAdapter adapter = new SimpleAdapter(getActivity().getBaseContext(), aList,
+ R.layout.fragment_service_list, from, to) {
+ public View getView(int position, View convertView, ViewGroup parent) {
+ View view = super.getView(position, convertView, parent);
+ TextView text1 = (TextView) view.findViewById(R.id.serviceListText);
+ text1.setTextSize(TypedValue.COMPLEX_UNIT_SP, size);
+ if (selected == position) {
+ text1.setTextColor(Color.parseColor("#000000"));
+ text1.setTypeface(null, Typeface.BOLD_ITALIC);
+ } else{
+ text1.setTypeface(null, Typeface.NORMAL);
+ }
+ return view;
+ }
+ };
+ setListAdapter(adapter);
+
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ Boolean autoscroll =
+ sharedPrefs.getBoolean(context.getString(R.string.key_auto_scroll), false);
+
+ if (autoscroll){
+ getListView().setSelection(selected - 1);
+ }
+ Log.i(LOG_TAG, "populate_display - exit");
+ }
+
+ public void itemClicked(int position) {
+ try {
+ String request = JsonHelpers.createRequestJSON("id", Integer.toString(position));
+ triggerTextRequest(String.format("%s%s", Api.SERVICE_SET, request));
+ Log.d(LOG_TAG, String.format("Setting list data. apiBase(%s), position(%s)",
+ Api.SERVICE_SET, position));
+ } catch (JsonHelpers.JSONHandlerException e) {
+ e.printStackTrace();
+ Toast.makeText(context, "Request Failed", Toast.LENGTH_SHORT).show();
+ }
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/fragments/StageWebFragment.java'
--- app/src/main/java/org/openlp/android2/fragments/StageWebFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/fragments/StageWebFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,34 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.fragments;
+
+import org.openlp.android2.api.Api;
+
+public class StageWebFragment extends WebFragment {
+
+ public StageWebFragment(){
+ super();
+ curURL = Api.STAGE_VIEW;
+ }
+
+
+ public static StageWebFragment newInstance() {
+ return new StageWebFragment();
+ }
+}
=== added file 'app/src/main/java/org/openlp/android2/fragments/WebFragment.java'
--- app/src/main/java/org/openlp/android2/fragments/WebFragment.java 1970-01-01 00:00:00 +0000
+++ app/src/main/java/org/openlp/android2/fragments/WebFragment.java 2016-01-10 17:42:04 +0000
@@ -0,0 +1,85 @@
+/******************************************************************************
+ * OpenLP - Open Source Lyrics Projection *
+ * --------------------------------------------------------------------------- *
+ * Copyright (c) 2011-2015 OpenLP Android Developers *
+ * --------------------------------------------------------------------------- *
+ * This program is free software; you can redistribute it and/or modify it *
+ * under the terms of the GNU General Public License as published by the Free *
+ * Software Foundation; version 2 of the License. *
+ * *
+ * This program is distributed in the hope that it will be useful, but WITHOUT *
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for *
+ * more details. *
+ * *
+ * You should have received a copy of the GNU General Public License along *
+ * with this program; if not, write to the Free Software Foundation, Inc., 59 *
+ * Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+ *******************************************************************************/
+package org.openlp.android2.fragments;
+
+import android.app.Fragment;
+import android.net.http.SslError;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.webkit.SslErrorHandler;
+import android.webkit.WebView;
+import android.webkit.WebViewClient;
+import org.openlp.android2.R;
+import org.openlp.android2.common.OpenLPHttpClient;
+
+public class WebFragment extends Fragment {
+
+ protected String curURL;
+ private OpenLPHttpClient httpClient;
+ private WebView webview;
+
+ public WebFragment(){
+ super();
+ }
+
+ @Override
+ public void onActivityCreated(Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ }
+
+ @Override
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {
+ httpClient = new OpenLPHttpClient(getActivity());
+ View view = inflater.inflate(R.layout.fragment_web, container, false);
+
+ if (curURL != null) {
+ webview = (WebView) view.findViewById(R.id.webPage);
+ webview.getSettings().setJavaScriptEnabled(true);
+ webview.getSettings().setBuiltInZoomControls(true);
+ webview.getSettings().setLoadWithOverviewMode(true);
+ webview.getSettings().setUseWideViewPort(true);
+ webview.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
+ webview.setScrollbarFadingEnabled(true);
+ webview.setWebViewClient(new webClient());
+ webview.loadUrl(String.format("%s%s", httpClient.getBaseUrl(), curURL));
+ }
+ return view;
+ }
+
+ @Override
+ public void onDestroyView() {
+ if (webview != null) {
+ webview.destroy();
+ }
+ super.onDestroyView();
+ }
+
+ private class webClient extends WebViewClient {
+ @Override
+ public boolean shouldOverrideUrlLoading(WebView view, String url) {
+ return false;
+ }
+ @Override
+ public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
+ handler.proceed(); // Ignore SSL certificate errors
+ }
+ }
+}
=== added directory 'app/src/main/res'
=== added directory 'app/src/main/res/drawable'
=== added directory 'app/src/main/res/drawable-hdpi'
=== added file 'app/src/main/res/drawable-hdpi/drawer_shadow.9.png'
Binary files app/src/main/res/drawable-hdpi/drawer_shadow.9.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/drawer_shadow.9.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_add_alert_white.png'
Binary files app/src/main/res/drawable-hdpi/ic_add_alert_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_add_alert_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_apps_white.png'
Binary files app/src/main/res/drawable-hdpi/ic_apps_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_apps_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_arrow_back_white.png'
Binary files app/src/main/res/drawable-hdpi/ic_arrow_back_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_arrow_back_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_arrow_forward_white.png'
Binary files app/src/main/res/drawable-hdpi/ic_arrow_forward_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_arrow_forward_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_drawer.png'
Binary files app/src/main/res/drawable-hdpi/ic_drawer.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_drawer.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_edit.png'
Binary files app/src/main/res/drawable-hdpi/ic_edit.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_edit.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_home_black.png'
Binary files app/src/main/res/drawable-hdpi/ic_home_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_home_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_image.png'
Binary files app/src/main/res/drawable-hdpi/ic_image.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_image.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_launcher.png'
Binary files app/src/main/res/drawable-hdpi/ic_launcher.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_launcher.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_list_black.png'
Binary files app/src/main/res/drawable-hdpi/ic_list_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_list_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_live_tv_black.png'
Binary files app/src/main/res/drawable-hdpi/ic_live_tv_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_live_tv_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_local_movies.png'
Binary files app/src/main/res/drawable-hdpi/ic_local_movies.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_local_movies.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_menu_white.png'
Binary files app/src/main/res/drawable-hdpi/ic_menu_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_menu_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_my_library_books.png'
Binary files app/src/main/res/drawable-hdpi/ic_my_library_books.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_my_library_books.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_my_library_music.png'
Binary files app/src/main/res/drawable-hdpi/ic_my_library_music.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_my_library_music.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_ondemand_video_black.png'
Binary files app/src/main/res/drawable-hdpi/ic_ondemand_video_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_ondemand_video_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_refresh_white.png'
Binary files app/src/main/res/drawable-hdpi/ic_refresh_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_refresh_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_search_white.png'
Binary files app/src/main/res/drawable-hdpi/ic_search_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_search_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_settings_display_white.png'
Binary files app/src/main/res/drawable-hdpi/ic_settings_display_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_settings_display_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_video_collection.png'
Binary files app/src/main/res/drawable-hdpi/ic_video_collection.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_video_collection.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/ic_view_list_black.png'
Binary files app/src/main/res/drawable-hdpi/ic_view_list_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/ic_view_list_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-hdpi/openlp_splash_screen.png'
Binary files app/src/main/res/drawable-hdpi/openlp_splash_screen.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-hdpi/openlp_splash_screen.png 2016-01-10 17:42:04 +0000 differ
=== added directory 'app/src/main/res/drawable-mdpi'
=== added file 'app/src/main/res/drawable-mdpi/drawer_shadow.9.png'
Binary files app/src/main/res/drawable-mdpi/drawer_shadow.9.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/drawer_shadow.9.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_add_alert_white.png'
Binary files app/src/main/res/drawable-mdpi/ic_add_alert_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_add_alert_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_apps_white.png'
Binary files app/src/main/res/drawable-mdpi/ic_apps_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_apps_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_arrow_back_white.png'
Binary files app/src/main/res/drawable-mdpi/ic_arrow_back_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_arrow_back_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_arrow_forward_white.png'
Binary files app/src/main/res/drawable-mdpi/ic_arrow_forward_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_arrow_forward_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_drawer.png'
Binary files app/src/main/res/drawable-mdpi/ic_drawer.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_drawer.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_edit.png'
Binary files app/src/main/res/drawable-mdpi/ic_edit.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_edit.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_home_black.png'
Binary files app/src/main/res/drawable-mdpi/ic_home_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_home_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_image.png'
Binary files app/src/main/res/drawable-mdpi/ic_image.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_image.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_launcher.png'
Binary files app/src/main/res/drawable-mdpi/ic_launcher.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_launcher.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_list_black.png'
Binary files app/src/main/res/drawable-mdpi/ic_list_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_list_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_live_tv_black.png'
Binary files app/src/main/res/drawable-mdpi/ic_live_tv_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_live_tv_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_local_movies.png'
Binary files app/src/main/res/drawable-mdpi/ic_local_movies.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_local_movies.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_menu_white.png'
Binary files app/src/main/res/drawable-mdpi/ic_menu_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_menu_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_my_library_books.png'
Binary files app/src/main/res/drawable-mdpi/ic_my_library_books.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_my_library_books.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_my_library_music.png'
Binary files app/src/main/res/drawable-mdpi/ic_my_library_music.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_my_library_music.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_ondemand_video_black.png'
Binary files app/src/main/res/drawable-mdpi/ic_ondemand_video_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_ondemand_video_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_refresh_white.png'
Binary files app/src/main/res/drawable-mdpi/ic_refresh_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_refresh_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_search_white.png'
Binary files app/src/main/res/drawable-mdpi/ic_search_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_search_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_settings_display_white.png'
Binary files app/src/main/res/drawable-mdpi/ic_settings_display_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_settings_display_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_video_collection.png'
Binary files app/src/main/res/drawable-mdpi/ic_video_collection.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_video_collection.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-mdpi/ic_view_list_black.png'
Binary files app/src/main/res/drawable-mdpi/ic_view_list_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-mdpi/ic_view_list_black.png 2016-01-10 17:42:04 +0000 differ
=== added directory 'app/src/main/res/drawable-xhdpi'
=== added file 'app/src/main/res/drawable-xhdpi/drawer_shadow.9.png'
Binary files app/src/main/res/drawable-xhdpi/drawer_shadow.9.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/drawer_shadow.9.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_add_alert_white.png'
Binary files app/src/main/res/drawable-xhdpi/ic_add_alert_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_add_alert_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_apps_white.png'
Binary files app/src/main/res/drawable-xhdpi/ic_apps_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_apps_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_arrow_back_white.png'
Binary files app/src/main/res/drawable-xhdpi/ic_arrow_back_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_arrow_back_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_arrow_forward_white.png'
Binary files app/src/main/res/drawable-xhdpi/ic_arrow_forward_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_arrow_forward_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_drawer.png'
Binary files app/src/main/res/drawable-xhdpi/ic_drawer.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_drawer.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_edit.png'
Binary files app/src/main/res/drawable-xhdpi/ic_edit.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_edit.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_home_black.png'
Binary files app/src/main/res/drawable-xhdpi/ic_home_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_home_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_image.png'
Binary files app/src/main/res/drawable-xhdpi/ic_image.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_image.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_launcher.png'
Binary files app/src/main/res/drawable-xhdpi/ic_launcher.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_launcher.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_list_black.png'
Binary files app/src/main/res/drawable-xhdpi/ic_list_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_list_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_live_tv_black.png'
Binary files app/src/main/res/drawable-xhdpi/ic_live_tv_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_live_tv_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_local_movies.png'
Binary files app/src/main/res/drawable-xhdpi/ic_local_movies.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_local_movies.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_menu_white.png'
Binary files app/src/main/res/drawable-xhdpi/ic_menu_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_menu_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_my_library_books.png'
Binary files app/src/main/res/drawable-xhdpi/ic_my_library_books.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_my_library_books.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_my_library_music.png'
Binary files app/src/main/res/drawable-xhdpi/ic_my_library_music.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_my_library_music.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_ondemand_video_black.png'
Binary files app/src/main/res/drawable-xhdpi/ic_ondemand_video_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_ondemand_video_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_refresh_white.png'
Binary files app/src/main/res/drawable-xhdpi/ic_refresh_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_refresh_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_search_white.png'
Binary files app/src/main/res/drawable-xhdpi/ic_search_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_search_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_settings_display_white.png'
Binary files app/src/main/res/drawable-xhdpi/ic_settings_display_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_settings_display_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_video_collection.png'
Binary files app/src/main/res/drawable-xhdpi/ic_video_collection.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_video_collection.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xhdpi/ic_view_list_black.png'
Binary files app/src/main/res/drawable-xhdpi/ic_view_list_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xhdpi/ic_view_list_black.png 2016-01-10 17:42:04 +0000 differ
=== added directory 'app/src/main/res/drawable-xxhdpi'
=== added file 'app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png'
Binary files app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/drawer_shadow.9.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_add_alert_white.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_add_alert_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_add_alert_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_apps_white.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_apps_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_apps_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_arrow_back_white.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_arrow_back_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_arrow_back_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_arrow_forward_white.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_arrow_forward_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_arrow_forward_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_drawer.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_drawer.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_drawer.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_edit.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_edit.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_edit.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_home_black.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_home_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_home_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_image.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_image.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_image.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_launcher.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_launcher.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_launcher.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_list_black.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_list_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_list_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_live_tv_black.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_live_tv_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_live_tv_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_local_movies.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_local_movies.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_local_movies.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_local_play.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_local_play.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_local_play.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_menu_white.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_menu_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_menu_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_my_library_books.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_my_library_books.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_my_library_books.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_my_library_music.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_my_library_music.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_my_library_music.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_ondemand_video_black.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_ondemand_video_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_ondemand_video_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_refresh_white.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_refresh_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_refresh_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_search_white.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_search_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_search_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_settings_display_white.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_settings_display_white.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_settings_display_white.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_video_collection.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_video_collection.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_video_collection.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable-xxhdpi/ic_view_list_black.png'
Binary files app/src/main/res/drawable-xxhdpi/ic_view_list_black.png 1970-01-01 00:00:00 +0000 and app/src/main/res/drawable-xxhdpi/ic_view_list_black.png 2016-01-10 17:42:04 +0000 differ
=== added file 'app/src/main/res/drawable/customborder.xml'
--- app/src/main/res/drawable/customborder.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/drawable/customborder.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+ android:shape="rectangle">
+
+ <padding android:left="10dp"
+ android:right="10dp"
+ android:top="10dp"
+ android:bottom="10dp"/>
+ <solid android:color="#c4c4c4"/>
+ <stroke android:width="2px" android:color="#ffffff"/>
+</shape>
\ No newline at end of file
=== added directory 'app/src/main/res/layout'
=== added directory 'app/src/main/res/layout-land'
=== added directory 'app/src/main/res/layout-xlarge'
=== added file 'app/src/main/res/layout-xlarge/fragment_livelist_list.xml'
--- app/src/main/res/layout-xlarge/fragment_livelist_list.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout-xlarge/fragment_livelist_list.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/fragment_live_list_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:smoothScrollbar="true"
+ android:clickable="false"
+ android:longClickable="false"
+ android:background="@drawable/customborder">
+ <TextView
+ android:id="@+id/tag"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingRight="5dp"
+ android:paddingLeft="5dp"
+ android:paddingBottom="10dp"
+ android:layout_weight="1"/>
+ <TextView
+ android:id="@+id/liveListNormal"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:textColor="#ff2a2a2a"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingBottom="10dp"
+ android:textStyle="normal"
+ android:layout_weight="1"/>
+ <TextView
+ android:id="@+id/liveListSelected"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:textColor="#000000"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingBottom="10dp"
+ android:textStyle="bold|italic"
+ android:layout_weight="1"/>
+</LinearLayout>
=== added file 'app/src/main/res/layout/activity_main.xml'
--- app/src/main/res/layout/activity_main.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/activity_main.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,79 @@
+<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. -->
+<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/drawer_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".MainActivity">
+
+ <!-- As the main content view, the view below consumes the entire
+ space available using match_parent in both dimensions. -->
+ <android.support.design.widget.CoordinatorLayout
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:orientation="vertical">
+ <FrameLayout
+ android:id="@+id/container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+ <LinearLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal">
+ <FrameLayout
+ android:id="@+id/container_left"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_gravity="start"
+ android:layout_marginRight="5dp"
+ android:layout_weight="1" />
+
+ <FrameLayout
+ android:id="@+id/container_right"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:layout_gravity="end"
+ android:layout_marginLeft="5dp"
+ android:layout_weight="1" />
+
+ </LinearLayout>
+
+ <android.support.design.widget.FloatingActionButton
+ android:id="@+id/next_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|end"
+ android:layout_margin="16dp"
+ android:onClick="next"
+ android:src="@drawable/ic_arrow_forward_white"
+ android:text="@string/next"
+ android:visibility="gone" />
+
+ <android.support.design.widget.FloatingActionButton
+ android:id="@+id/prev_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|start"
+ android:layout_margin="16dp"
+ android:onClick="previous"
+ android:src="@drawable/ic_arrow_back_white"
+ android:text="@string/previous"
+ android:visibility="gone" />
+
+ </android.support.design.widget.CoordinatorLayout>
+ <!-- android:layout_gravity="start" tells DrawerLayout to treat
+ this as a sliding drawer on the left side for left-to-right
+ languages and on the right side for right-to-left languages.
+ If you're not building against API 17 or higher, use
+ android:layout_gravity="left" instead. -->
+ <!-- The drawer is given a fixed width in dp and extends the full height of
+ the container. -->
+ <fragment
+ android:id="@+id/navigation_drawer"
+ android:name="org.openlp.android2.fragments.NavigationDrawerFragment"
+ android:layout_width="@dimen/navigation_drawer_width"
+ android:layout_height="fill_parent"
+ android:layout_gravity="start"
+ tools:layout="@layout/fragment_navigation_drawer" />
+
+</android.support.v4.widget.DrawerLayout>
=== added file 'app/src/main/res/layout/activity_open_lp.xml'
--- app/src/main/res/layout/activity_open_lp.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/activity_open_lp.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,31 @@
+<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. -->
+<android.support.v4.widget.DrawerLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/drawer_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".OpenLP">
+
+ <!-- As the main content view, the view below consumes the entire
+ space available using match_parent in both dimensions. -->
+ <FrameLayout
+ android:id="@+id/container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <!-- android:layout_gravity="start" tells DrawerLayout to treat
+ this as a sliding drawer on the left side for left-to-right
+ languages and on the right side for right-to-left languages.
+ If you're not building against API 17 or higher, use
+ android:layout_gravity="left" instead. -->
+ <!-- The drawer is given a fixed width in dp and extends the full height of
+ the container. -->
+ <fragment android:id="@+id/navigation_drawer"
+ android:layout_width="@dimen/navigation_drawer_width"
+ android:layout_height="match_parent"
+ android:layout_gravity="start"
+ android:name="org.openlp.android2.fragments.NavigationDrawerFragment"
+ tools:layout="@layout/fragment_navigation_drawer" />
+
+</android.support.v4.widget.DrawerLayout>
=== added file 'app/src/main/res/layout/alert_display_dialog.xml'
--- app/src/main/res/layout/alert_display_dialog.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/alert_display_dialog.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:weightSum="1">
+
+ <TextView
+ android:layout_width="294dp"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/enter_alert_text"
+ android:id="@+id/textView"
+ android:inputType="textLongMessage"
+ android:textStyle="bold|italic"
+ android:textSize="40px"
+ android:height="45px"/>
+
+ <EditText
+ android:id="@+id/alertText"
+ android:layout_width="290dp"
+ android:layout_height="wrap_content"/>
+</LinearLayout>
\ No newline at end of file
=== added file 'app/src/main/res/layout/blank_display_dialog.xml'
--- app/src/main/res/layout/blank_display_dialog.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/blank_display_dialog.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+
+ android:orientation="vertical"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:weightSum="1">
+ <TextView
+ android:layout_width="315dp"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceMedium"
+ android:text="@string/display_blank_summary"
+ android:id="@+id/textView"
+ android:textStyle="bold|italic"
+ android:textSize="40px"
+ android:height="70px"
+ android:layout_marginTop="10dp"
+ android:layout_marginBottom="10dp"/>
+ <RadioButton
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/display_reset"
+ android:id="@+id/buttonReset"
+ android:textSize="20sp"
+ android:height="30dp"
+ android:clickable="true"
+ android:layout_marginTop="20dp"
+ android:layout_marginBottom="20dp"/>
+ <RadioButton
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/display_screen"
+ android:id="@+id/buttonScreen"
+ android:textSize="20sp"
+ android:height="40dp"
+ android:clickable="true"
+ android:layout_marginTop="20dp"
+ android:layout_marginBottom="20dp"/>
+ <RadioButton
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/display_theme"
+ android:id="@+id/buttonTheme"
+ android:textSize="20sp"
+ android:height="40dp"
+ android:clickable="true"
+ android:layout_marginTop="20dp"
+ android:layout_marginBottom="20dp"/>
+ <RadioButton
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:text="@string/display_desktop"
+ android:id="@+id/buttonDesktop"
+ android:textSize="20sp"
+ android:height="40dp"
+ android:clickable="true"
+ android:layout_marginTop="20dp"
+ android:layout_marginBottom="20dp"/>
+</LinearLayout>
\ No newline at end of file
=== added file 'app/src/main/res/layout/fragment_about.xml'
--- app/src/main/res/layout/fragment_about.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_about.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,9 @@
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/about_text"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:background="#000000"
+ android:gravity="center"
+ android:linksClickable="true"
+ android:padding="32dp"
+ android:textColor="#ffffffff" />
\ No newline at end of file
=== added file 'app/src/main/res/layout/fragment_empty.xml'
--- app/src/main/res/layout/fragment_empty.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_empty.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,6 @@
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@android:id/empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:text="No Results"
+ />
\ No newline at end of file
=== added file 'app/src/main/res/layout/fragment_home.xml'
--- app/src/main/res/layout/fragment_home.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_home.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,22 @@
+<!--
+ Copyright 2013 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/home_image"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:padding="32dp"/>
\ No newline at end of file
=== added file 'app/src/main/res/layout/fragment_item_grid.xml'
--- app/src/main/res/layout/fragment_item_grid.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_item_grid.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout 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" tools:context="org.openlp.android2.emptyFragment">
+
+ <GridView android:id="@android:id/list" android:layout_width="match_parent"
+ android:layout_height="match_parent" android:numColumns="2" />
+
+ <TextView android:id="@android:id/empty" android:layout_width="match_parent"
+ android:layout_height="match_parent" android:gravity="center" />
+
+</FrameLayout>
=== added file 'app/src/main/res/layout/fragment_item_list.xml'
--- app/src/main/res/layout/fragment_item_list.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_item_list.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout 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" tools:context="org.openlp.android2.emptyFragment">
+
+ <ListView android:id="@android:id/list" android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <TextView android:id="@android:id/empty" android:layout_width="match_parent"
+ android:layout_height="match_parent" android:gravity="center" />
+
+</FrameLayout>
=== added file 'app/src/main/res/layout/fragment_livelist_grid.xml'
--- app/src/main/res/layout/fragment_livelist_grid.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_livelist_grid.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout 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"
+ tools:context="org.openlp.android2.fragments.LiveListFragment">
+
+ <GridView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:numColumns="2" />
+
+ <LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/fragment_live_list_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:smoothScrollbar="true"
+ android:clickable="false"
+ android:longClickable="false">
+ <TextView
+ android:id="@+id/tag"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingRight="5dp"
+ android:paddingLeft="5dp"
+ android:paddingBottom="10dp"
+ android:layout_weight="1"/>
+ <TextView
+ android:id="@+id/liveListNormal"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:textColor="#ff2a2a2a"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingBottom="10dp"
+ android:textStyle="normal"
+ android:layout_weight="1"/>
+ </LinearLayout>
+
+</FrameLayout>
=== added file 'app/src/main/res/layout/fragment_livelist_list.xml'
--- app/src/main/res/layout/fragment_livelist_list.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_livelist_list.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/fragment_live_list_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:smoothScrollbar="true"
+ android:clickable="false"
+ android:longClickable="false"
+ android:background="@drawable/customborder">
+
+ <TextView
+ android:id="@+id/tag"
+ android:layout_width="75sp"
+ android:layout_height="wrap_content"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingRight="5dp"
+ android:paddingLeft="5dp"
+ android:paddingBottom="10dp"
+ android:layout_weight="1"/>
+ <TextView
+ android:id="@+id/liveListNormal"
+ android:layout_width="fill_parent"
+ android:layout_height="wrap_content"
+ android:textColor="#ff2a2a2a"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingBottom="10dp"
+ android:textStyle="normal"
+ android:layout_weight="1"/>
+ <TextView
+ android:id="@+id/liveListSelected"
+ android:layout_width="0dp"
+ android:layout_height="wrap_content"
+ android:textColor="#000000"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingBottom="10dp"
+ android:textStyle="bold|italic"
+ android:layout_weight="1"
+ android:visibility="gone"/>
+</LinearLayout>
=== added file 'app/src/main/res/layout/fragment_main.xml'
--- app/src/main/res/layout/fragment_main.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_main.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,13 @@
+<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
+ android:paddingRight="@dimen/activity_horizontal_margin"
+ android:paddingTop="@dimen/activity_vertical_margin"
+ android:paddingBottom="@dimen/activity_vertical_margin"
+ tools:context=".MainActivity$PlaceholderFragment">
+
+ <TextView android:id="@+id/section_label"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content" />
+
+</RelativeLayout>
=== added file 'app/src/main/res/layout/fragment_navigation_drawer.xml'
--- app/src/main/res/layout/fragment_navigation_drawer.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_navigation_drawer.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,5 @@
+<ListView 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:choiceMode="singleChoice"
+ android:divider="@android:color/transparent" android:dividerHeight="0dp"
+ android:background="#cccc" tools:context=".NavigationDrawerFragment" />
=== added file 'app/src/main/res/layout/fragment_navigation_drawer_list.xml'
--- app/src/main/res/layout/fragment_navigation_drawer_list.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_navigation_drawer_list.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2010 The Android Open Source Project
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ http://www.apache.org/licenses/LICENSE-2.0
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<RelativeLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/fragment_navigation_drawer_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:smoothScrollbar="true"
+ android:clickable="false"
+ android:longClickable="false">
+
+ <ImageView
+ android:id="@+id/drawer_icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingTop="10dp"
+ android:paddingRight="5dp"
+ android:paddingLeft="5dp"
+ android:paddingStart="5dp"
+ android:paddingEnd="5dp"
+ android:paddingBottom="10dp"/>
+
+ <TextView
+ android:id="@+id/drawer_text"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:textColor="#000000"
+ android:minHeight="?android:attr/listPreferredItemHeightSmall"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:paddingTop="20dp"
+ android:paddingRight="5dp"
+ android:paddingLeft="55dp"
+ android:paddingStart="55dp"
+ android:paddingEnd="5dp"
+ android:paddingBottom="10dp"/>
+
+
+</RelativeLayout>
\ No newline at end of file
=== added file 'app/src/main/res/layout/fragment_service_list.xml'
--- app/src/main/res/layout/fragment_service_list.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_service_list.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout
+ xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/fragmentservicelist"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:orientation="horizontal"
+ android:smoothScrollbar="true"
+ android:clickable="false"
+ android:longClickable="false"
+ android:background="@drawable/customborder">
+ <ImageView
+ android:id="@+id/icon"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:paddingTop="10dp"
+ android:paddingRight="5dp"
+ android:paddingEnd="5dp"
+ android:paddingLeft="5dp"
+ android:paddingBottom="10dp"
+ />
+ <TextView
+ android:id="@+id/serviceListText"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textStyle="bold"
+ android:textColor="#000000"
+ android:textSize="14sp"
+ android:paddingTop="10dp"
+ android:paddingRight="5dp"
+ android:paddingLeft="5dp"
+ android:paddingEnd="5dp"
+ android:paddingBottom="10dp"
+ />
+</LinearLayout>
=== added file 'app/src/main/res/layout/fragment_servicelist_grid.xml'
--- app/src/main/res/layout/fragment_servicelist_grid.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_servicelist_grid.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout 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"
+ tools:context="org.openlp.android2.fragments.ServiceListFragment">
+
+ <GridView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:numColumns="2" />
+
+ <TextView
+ android:id="@android:id/empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center" />
+
+</FrameLayout>
=== added file 'app/src/main/res/layout/fragment_servicelist_list.xml'
--- app/src/main/res/layout/fragment_servicelist_list.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_servicelist_list.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout 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"
+ tools:context="org.openlp.android2.fragments.ServiceListFragment">
+
+ <ListView
+ android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+ <TextView
+ android:id="@android:id/empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center" />
+
+</FrameLayout>
=== added file 'app/src/main/res/layout/fragment_web.xml'
--- app/src/main/res/layout/fragment_web.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/layout/fragment_web.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:layout_width="fill_parent"
+ android:layout_height="fill_parent"
+ android:baselineAligned="false">
+ <WebView
+ android:id="@+id/webPage"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent" />
+
+</LinearLayout>
\ No newline at end of file
=== added directory 'app/src/main/res/menu'
=== added file 'app/src/main/res/menu/global.xml'
--- app/src/main/res/menu/global.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/menu/global.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,5 @@
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item android:id="@+id/action_settings" android:title="@string/action_settings"
+ android:orderInCategory="100" app:showAsAction="never" />
+</menu>
=== added file 'app/src/main/res/menu/menu_.xml'
--- app/src/main/res/menu/menu_.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/menu/menu_.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,6 @@
+<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">
+ <item android:id="@+id/action_settings" android:title="@string/action_settings"
+ android:orderInCategory="100" app:showAsAction="never" />
+</menu>
=== added file 'app/src/main/res/menu/open_l.xml'
--- app/src/main/res/menu/open_l.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/menu/open_l.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,31 @@
+<menu xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto">
+ <item android:id="@+id/action_blank"
+ android:checkable="true"
+ android:visible="true"
+ android:icon="@drawable/ic_settings_display_white"
+ android:title="@string/action_blank"
+ app:showAsAction="ifRoom" />
+ <item android:id="@+id/action_alert"
+ android:checkable="true"
+ android:visible="true"
+ android:icon="@drawable/ic_add_alert_white"
+ android:title="@string/action_alert"
+ app:showAsAction="ifRoom" />
+ <item android:id="@+id/action_refresh"
+ android:icon="@drawable/ic_refresh_white"
+ android:title="@string/action_refresh"
+ app:showAsAction="ifRoom" />
+ <item android:id="@+id/action_search"
+ android:icon="@drawable/ic_search_white"
+ android:title="@string/action_search"
+ app:showAsAction="never|withText" />
+ <item android:id="@+id/action_preferences"
+ android:icon="@android:drawable/ic_menu_preferences"
+ android:title="@string/action_preferences"
+ app:showAsAction="never|withText" />
+ <item android:id="@+id/action_about"
+ android:icon="@drawable/ic_apps_white"
+ android:title="@string/action_about"
+ app:showAsAction="never|withText" />
+</menu>
=== added directory 'app/src/main/res/values'
=== added directory 'app/src/main/res/values-af'
=== added file 'app/src/main/res/values-af/strings.xml'
--- app/src/main/res/values-af/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-af/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_4">Kopiereg</string>
+ <string name="about_display_5">Gedeeltelike kopiereg</string>
+ <string name="about_display_6">Lisensie</string>
+ <string name="action_settings">Instellings</string>
+ <string name="action_about">Aangaande</string>
+ <string name="action_alert">Waarskuwing</string>
+ <string name="action_back">Terug</string>
+ <string name="action_preferences">Voorkeure</string>
+ <string name="action_refresh">Verfris</string>
+ <string name="action_search">Soek</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Kanselleer</string>
+ <string name="connection_timeout">Konneksie Tyd-uitloop</string>
+ <string name="connection_timeout_summary">Kies \'n waarde (millisekondes)</string>
+ <string name="display_blank_summary">Kies die gevraagde blanko tipe</string>
+ <string name="enable_custom_timeouts">Bekragtig Aangepasde Tyd-uitlope</string>
+ <string name="home">Tuis</string>
+ <string name="none">Geen</string>
+ <string name="port">Poort</string>
+ <string name="text_size_summary">Verander die Diens teks grootte</string>
+ <string name="title_activity_settings">Instellings</string>
+ <string name="url_hint">Gasheer naam of IP</string>
+</resources>
=== added directory 'app/src/main/res/values-bg'
=== added file 'app/src/main/res/values-bg/strings.xml'
--- app/src/main/res/values-bg/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-bg/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,24 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_4">Копирайт</string>
+ <string name="about_display_5">Копирайт за отделни части</string>
+ <string name="about_display_6">Лиценз</string>
+ <string name="action_settings">Настройки</string>
+ <string name="action_about">Относно</string>
+ <string name="action_alert">Сигнал</string>
+ <string name="action_preferences">Предпочитания</string>
+ <string name="action_refresh">Обнови</string>
+ <string name="action_search">Търсене</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Откажи</string>
+ <string name="connection_timeout">Времето за изчакване на свързването</string>
+ <string name="connection_timeout_summary">Избери стойност (в милисекунди)</string>
+ <string name="display_blank_summary">Избери изисквания тип на празнота</string>
+ <string name="enable_custom_timeouts">Активирай клиентски срокове</string>
+ <string name="home">Начало</string>
+ <string name="none">Нищо</string>
+ <string name="port">Порт</string>
+ <string name="text_size_summary">Промени размера на текста за Службата</string>
+ <string name="title_activity_settings">Настройки</string>
+ <string name="url_hint">Hostname или IP</string>
+</resources>
=== added directory 'app/src/main/res/values-cs'
=== added file 'app/src/main/res/values-cs/strings.xml'
--- app/src/main/res/values-cs/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-cs/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP je volně dostupná křesťanská prezentační aplikace</string>
+ <string name="about_display_2">Pro více informací navštivte OpenLP stránky</string>
+ <string name="about_display_4">Autorská práva</string>
+ <string name="about_display_5">Částečná autorská práva</string>
+ <string name="about_display_6">Licence</string>
+ <string name="about_display_7">Tento program je svobodný software; můžete jej šířit a modifikovat podle ustanovení GNU General Public License, vydávané Free Software Foundation; a to podle verze 2 této licence</string>
+ <string name="about_display_8">Tento program je šířen v naději, že bude užitečný, avšak BEZ JAKÉKOLI ZÁRUKY; neposkytují se ani odvozené záruky PRODEJNOSTI anebo VHODNOSTI PRO URČITÝ ÚČEL</string>
+ <string name="action_settings">Nastavení</string>
+ <string name="action_about">O aplikaci</string>
+ <string name="action_alert">Upozornění</string>
+ <string name="action_back">Zpět</string>
+ <string name="action_blank">Změnit zobrazení</string>
+ <string name="action_preferences">Nastavení</string>
+ <string name="action_refresh">Obnovit</string>
+ <string name="action_search">Hledat</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Zrušit</string>
+ <string name="connection_configuration">Nastavení sítě</string>
+ <string name="connection_password">Heslo</string>
+ <string name="connection_profile">Podrobnosti serveru</string>
+ <string name="connection_profile_ssl_use">Použít HTTPS</string>
+ <string name="connection_profile_ssl_summary">Upřesnit jestli použít HTTPS</string>
+ <string name="connection_timeout">Časový limit spojení</string>
+ <string name="connection_timeout_summary">Vybrat hodnotu (milisekundy)</string>
+ <string name="connection_userid">Uživatelské jméno</string>
+ <string name="custom_timeout">Nastavit uživatelský časový limit</string>
+ <string name="display_blank_summary">Vybrat požadované zobrazení</string>
+ <string name="display_desktop">Zobrazit pozadí plochy</string>
+ <string name="display_list_autoscroll">Povolit vybrané položce rolovat na střed seznamu</string>
+ <string name="display_reset">Zobrazit naživo</string>
+ <string name="display_settings">Nastavení zobrazení</string>
+ <string name="display_screen">Zobrazit jen černou</string>
+ <string name="display_theme">Zobrazit jen motiv</string>
+ <string name="enable_custom_timeouts">Zapnout uživatelský časový limit</string>
+ <string name="enter_alert_text">Vložit text upozornění</string>
+ <string name="enable_autoscroll">Povolit automatické centrování obrazovky</string>
+ <string name="home">Domů</string>
+ <string name="httpreturn_unauthorised">Neoprávněný přístup, zadejte prosím správné uživatelské jméno a heslo</string>
+ <string name="live_list">Seznam naživo</string>
+ <string name="live_view">Zobrazení naživo</string>
+ <string name="navigation_drawer_open">Otevřít navigační panel</string>
+ <string name="navigation_drawer_close">Zavřít navigační panel</string>
+ <string name="next">Další</string>
+ <string name="none">Žádný</string>
+ <string name="port">Port</string>
+ <string name="previous">Předchozí</string>
+ <string name="process">Zpracovat</string>
+ <string name="service_list">Seznam služby</string>
+ <string name="stage_view">Zobrazení na pódiu</string>
+ <string name="text_size">Vybrat velikost zobrazeného textu</string>
+ <string name="text_size_summary">Změnit velikost textu služby</string>
+ <string name="title_activity_settings">Nastavení</string>
+ <string name="url_hint">Jméno počítače nebo IP</string>
+ <string name="unable">Není možné vykonat požadavek - prověřte nastavení sítě</string>
+</resources>
=== added directory 'app/src/main/res/values-da'
=== added file 'app/src/main/res/values-da/strings.xml'
--- app/src/main/res/values-da/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-da/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,53 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP er et frit og gratis præsentationsprogram til kirker.</string>
+ <string name="about_display_2">Besøg OpenLP\'s hjemmside for at lære mere</string>
+ <string name="about_display_4">Ophavsret</string>
+ <string name="about_display_5">Delvis ophavsret</string>
+ <string name="about_display_6">Licens</string>
+ <string name="about_display_7">Dette program er fri software; du kan redistribuere det og/eller ændre det under vilkårene angivet i GNU General Public License, som er udgivet af Free Software Foundation; udgave 2 af licensen.</string>
+ <string name="about_display_8">Dette program er udgivet i håbet om at det må være brugbart, men UDEN NOGEN GARANTI; endda uden den underforståede garanti om SALGBARHED eller BRUGBARHED TIL ET BESTEMT FORMÅL.</string>
+ <string name="action_settings">Indstillinger</string>
+ <string name="action_about">Om</string>
+ <string name="action_alert">Meddelelse</string>
+ <string name="action_back">Tilbage</string>
+ <string name="action_blank">Skift skærm</string>
+ <string name="action_preferences">Indstillinger</string>
+ <string name="action_refresh">Opdatér</string>
+ <string name="action_search">Søg</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Annullér</string>
+ <string name="connection_configuration">Konfigurér netværk</string>
+ <string name="connection_password">Adgangskode</string>
+ <string name="connection_profile">Serverdetaljer</string>
+ <string name="connection_profile_ssl_use">Benyt HTTPS</string>
+ <string name="connection_profile_ssl_summary">Angiv om HTTPS skal benyttes</string>
+ <string name="connection_timeout">Timeout for forbindelse</string>
+ <string name="connection_timeout_summary">Vælg en værdi (millisekunder)</string>
+ <string name="connection_userid">Brugernavn</string>
+ <string name="custom_timeout">Sæt brugerdefineret timeout</string>
+ <string name="display_blank_summary">Vælg den ønskede skærm</string>
+ <string name="display_desktop">Vis skrivebordsbaggrund</string>
+ <string name="display_reset">Vis fremvisningsskærm</string>
+ <string name="display_screen">Vis kun sort</string>
+ <string name="display_theme">Vis kun temabaggrund</string>
+ <string name="enable_custom_timeouts">Aktiver brugerdefinerede timeouts</string>
+ <string name="enter_alert_text">Indtast meddelelsestekst</string>
+ <string name="home">Hjem</string>
+ <string name="httpreturn_unauthorised">Adgang ikke godkendt. Indtast gyldigt brugernavn og adgangskode</string>
+ <string name="live_list">Fremvisningsliste</string>
+ <string name="navigation_drawer_open">Åbn navigationsskuffe</string>
+ <string name="navigation_drawer_close">Luk navigationsskuffe</string>
+ <string name="next">Næste</string>
+ <string name="none">Ingen</string>
+ <string name="port">Port</string>
+ <string name="previous">Forrige</string>
+ <string name="process">Proces</string>
+ <string name="service_list">Programoversigt</string>
+ <string name="stage_view">Scenevisning</string>
+ <string name="text_size">Vælg tekststørrelse til visning</string>
+ <string name="text_size_summary">Ændr programmets tekststørrelse</string>
+ <string name="title_activity_settings">Indstillinger</string>
+ <string name="url_hint">Værtsnavn eller IP</string>
+ <string name="unable">Kunne ikke udføre forespørsel - tjek netværksindstillingerne</string>
+</resources>
=== added directory 'app/src/main/res/values-de'
=== added file 'app/src/main/res/values-de/strings.xml'
--- app/src/main/res/values-de/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-de/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,55 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP ist eine freie Präsentationssoftware für Kirchen und Gemeinden. Erfahre mehr über OpenLP.</string>
+ <string name="about_display_2">Weitere Informationen sind auf der OpenLP Webseite zu finden.</string>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Anteiliges Urheberrecht</string>
+ <string name="about_display_6">Lizenz</string>
+ <string name="about_display_7">Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License Version 2, herausgegeben von der Free Software Foundation, weitergeben und/oder modifizieren.</string>
+ <string name="about_display_8">Dieses Programms wird in der Hoffnung zur Verfügung gestellt, dass es Ihnen von Nutzen sein wird, aber OHNE JEDE GEWÄHRLEISTUNG; auch ohne einer implizite Gewährleistung von MARKTREIFE oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK</string>
+ <string name="action_settings">Einstellungen</string>
+ <string name="action_about">Über</string>
+ <string name="action_alert">Hinweis</string>
+ <string name="action_back">Zurück</string>
+ <string name="action_blank">Anzeige umschalten</string>
+ <string name="action_preferences">Voreinstellungen</string>
+ <string name="action_refresh">Aktualisieren</string>
+ <string name="action_search">Suche</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Abbruch</string>
+ <string name="connection_configuration">Netzwerk einrichten</string>
+ <string name="connection_password">Passwort</string>
+ <string name="connection_profile">Server-Einstellungen</string>
+ <string name="connection_profile_ssl_use">HTTPS benutzen</string>
+ <string name="connection_profile_ssl_summary">Festlegen, ob HTTPS verwendet werden soll</string>
+ <string name="connection_timeout">Verbindungzeit überschritten</string>
+ <string name="connection_timeout_summary">Wähle einen Wert (in Millisekunden)</string>
+ <string name="connection_userid">Benutzername</string>
+ <string name="custom_timeout">Setze eigenes Zeitlimit</string>
+ <string name="display_blank_summary">Wähle die erforderlichen Ansicht</string>
+ <string name="display_desktop">Bildschirmhintergrund anzeigen</string>
+ <string name="display_reset">Live-Ansicht anzeigen</string>
+ <string name="display_settings">Anzeigeeinstellung</string>
+ <string name="display_screen">Abdunkeln</string>
+ <string name="display_theme">Nur Design anzeigen</string>
+ <string name="enable_custom_timeouts">Aktiviere eigene Time-outs</string>
+ <string name="enter_alert_text">Hinweis eingeben</string>
+ <string name="home">Start</string>
+ <string name="httpreturn_unauthorised">Zugriff nicht erlaubt, bitte einen gültigen Benutzernamen und das korrekte Passwort eingeben</string>
+ <string name="live_list">Live Liste</string>
+ <string name="live_view">Echtzeit-Anzeige</string>
+ <string name="navigation_drawer_open">Navigationsleiste anzeigen</string>
+ <string name="navigation_drawer_close">Navigationsleiste verbergen</string>
+ <string name="next">Vorwärts</string>
+ <string name="none">Nichts</string>
+ <string name="port">Port</string>
+ <string name="previous">Zurück</string>
+ <string name="process">Verarbeite</string>
+ <string name="service_list">Ablaufliste</string>
+ <string name="stage_view">Bühnenansicht</string>
+ <string name="text_size">Textgröße in der Ansicht auswählen</string>
+ <string name="text_size_summary">Textgröße des Ablaufs ändern</string>
+ <string name="title_activity_settings">Einstellungen</string>
+ <string name="url_hint">Hostname oder IP</string>
+ <string name="unable">Anfrage konnte nicht verarbeitet werden - bitte die Netzwerkeinstellungen überprüfen</string>
+</resources>
=== added directory 'app/src/main/res/values-el'
=== added file 'app/src/main/res/values-el/strings.xml'
--- app/src/main/res/values-el/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-el/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_4">Πνευματικά δικαιώματα</string>
+ <string name="about_display_5">Τμηματικά πνευματικά δικαιώματα</string>
+ <string name="about_display_6">Άδεια</string>
+ <string name="action_settings">Ρυθμίσεις</string>
+ <string name="action_about">Σχετικά</string>
+ <string name="action_alert">Ειδοποίηση</string>
+ <string name="action_back">Πίσω</string>
+ <string name="action_preferences">Προτιμήσεις</string>
+ <string name="action_refresh">Ανανέωση</string>
+ <string name="action_search">Αναζήτηση</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Ακύρωση</string>
+ <string name="connection_timeout">Λήξη Σύνδεσης</string>
+ <string name="connection_timeout_summary">Επιλέξτε μια τιμή (milliseconds)</string>
+ <string name="display_blank_summary">Επιλέξτε τον απαιτούμενο τύπο κενής σελίδας </string>
+ <string name="enable_custom_timeouts">Ενεργοποίηση </string>
+ <string name="home">Αρχική Σελίδα</string>
+ <string name="none">Κανένα</string>
+ <string name="port">Θύρα</string>
+ <string name="text_size_summary">Αλλάξτε το μέγεθος κειμένου της Λειτουργίας</string>
+ <string name="title_activity_settings">Ρυθμίσεις</string>
+ <string name="url_hint">Hostname ή διεύθυνση IP</string>
+</resources>
=== added directory 'app/src/main/res/values-en-rGB'
=== added file 'app/src/main/res/values-en-rGB/strings.xml'
--- app/src/main/res/values-en-rGB/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-en-rGB/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP is free church presentation software</string>
+ <string name="about_display_2">To find out more visit the OpenLP website</string>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Portions copyright</string>
+ <string name="about_display_6">License</string>
+ <string name="about_display_7">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License</string>
+ <string name="about_display_8">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE</string>
+ <string name="action_settings">Settings</string>
+ <string name="action_about">About</string>
+ <string name="action_alert">Alert</string>
+ <string name="action_back">Back</string>
+ <string name="action_blank">Toggle Display</string>
+ <string name="action_preferences">Preferences</string>
+ <string name="action_refresh">Refresh</string>
+ <string name="action_search">Search</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Cancel</string>
+ <string name="connection_configuration">Configure Network</string>
+ <string name="connection_password">Password</string>
+ <string name="connection_profile">Server Details</string>
+ <string name="connection_profile_ssl_use">Use HTTPS</string>
+ <string name="connection_profile_ssl_summary">Specify whether HTTPS should be used</string>
+ <string name="connection_timeout">Connection Timeout</string>
+ <string name="connection_timeout_summary">Select a value (milliseconds)</string>
+ <string name="connection_userid">Username</string>
+ <string name="custom_timeout">Set Custom Timeout</string>
+ <string name="display_blank_summary">Select the required display</string>
+ <string name="display_desktop">Display Desktop background</string>
+ <string name="display_list_autoscroll">Allow the selected item to scroll to the centre of the list</string>
+ <string name="display_reset">Show Live display</string>
+ <string name="display_settings">Display Setting</string>
+ <string name="display_screen">Display Black only</string>
+ <string name="display_theme">Display Theme only</string>
+ <string name="enable_custom_timeouts">Enable Custom Timeouts</string>
+ <string name="enter_alert_text">Enter Alert Text</string>
+ <string name="enable_autoscroll">Allow displays to auto center</string>
+ <string name="home">Home</string>
+ <string name="httpreturn_unauthorised">Unauthorised Access, please enter valid username and password</string>
+ <string name="live_list">Live List</string>
+ <string name="live_view">Live View</string>
+ <string name="navigation_drawer_open">Open navigation drawer</string>
+ <string name="navigation_drawer_close">Close navigation drawer</string>
+ <string name="next">Next</string>
+ <string name="none">None</string>
+ <string name="port">Port</string>
+ <string name="previous">Previous</string>
+ <string name="process">Process</string>
+ <string name="service_list">Service List</string>
+ <string name="stage_view">Stage View</string>
+ <string name="text_size">Select display text size</string>
+ <string name="text_size_summary">Change the Service text size</string>
+ <string name="title_activity_settings">Settings</string>
+ <string name="url_hint">Hostname or IP</string>
+ <string name="unable">Unable to process request - check network settings</string>
+</resources>
=== added directory 'app/src/main/res/values-en-rZA'
=== added file 'app/src/main/res/values-en-rZA/strings.xml'
--- app/src/main/res/values-en-rZA/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-en-rZA/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP is free church presentation software</string>
+ <string name="about_display_2">To find out more visit the OpenLP website</string>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Portions copyright</string>
+ <string name="about_display_6">License</string>
+ <string name="about_display_7">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License</string>
+ <string name="about_display_8">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE</string>
+ <string name="action_settings">Settings</string>
+ <string name="action_about">About</string>
+ <string name="action_alert">Alert</string>
+ <string name="action_back">Back</string>
+ <string name="action_blank">Toggle Display</string>
+ <string name="action_preferences">Preferences</string>
+ <string name="action_refresh">Refresh</string>
+ <string name="action_search">Search</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Cancel</string>
+ <string name="connection_configuration">Configure Network</string>
+ <string name="connection_password">Password</string>
+ <string name="connection_profile">Server Details</string>
+ <string name="connection_profile_ssl_use">Use HTTPS</string>
+ <string name="connection_profile_ssl_summary">Specify whether HTTPS should be used</string>
+ <string name="connection_timeout">Connection Timeout</string>
+ <string name="connection_timeout_summary">Select a value (milliseconds)</string>
+ <string name="connection_userid">Username</string>
+ <string name="custom_timeout">Set Custom Timeout</string>
+ <string name="display_blank_summary">Select the required display</string>
+ <string name="display_desktop">Display Desktop background</string>
+ <string name="display_list_autoscroll">Allow the selected item to scroll to the centre of the list</string>
+ <string name="display_reset">Show Live display</string>
+ <string name="display_settings">Display Setting</string>
+ <string name="display_screen">Display Black only</string>
+ <string name="display_theme">Display Theme only</string>
+ <string name="enable_custom_timeouts">Enable Custom Timeouts</string>
+ <string name="enter_alert_text">Enter Alert Text</string>
+ <string name="enable_autoscroll">Allow displays to auto centre</string>
+ <string name="home">Home</string>
+ <string name="httpreturn_unauthorised">Unauthorised Access, please enter valid username and password</string>
+ <string name="live_list">Live List</string>
+ <string name="live_view">Live View</string>
+ <string name="navigation_drawer_open">Open navigation drawer</string>
+ <string name="navigation_drawer_close">Close navigation drawer</string>
+ <string name="next">Next</string>
+ <string name="none">None</string>
+ <string name="port">Port</string>
+ <string name="previous">Previous</string>
+ <string name="process">Process</string>
+ <string name="service_list">Service List</string>
+ <string name="stage_view">Stage View</string>
+ <string name="text_size">Select display text size</string>
+ <string name="text_size_summary">Change the Service text size</string>
+ <string name="title_activity_settings">Settings</string>
+ <string name="url_hint">Hostname or IP</string>
+ <string name="unable">Unable to process request - check network settings</string>
+</resources>
=== added directory 'app/src/main/res/values-es'
=== added file 'app/src/main/res/values-es/strings.xml'
--- app/src/main/res/values-es/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-es/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,54 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP es un software de proyección gratuito para iglesias.</string>
+ <string name="about_display_2">Para más información sobre OpenLP visite el sitio web.</string>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Partes copyright</string>
+ <string name="about_display_6">Licencia</string>
+ <string name="about_display_7">Este es un programa gratuito; usted puede distribuirlo y/o modificarlo bajo los términos de GNU General Public License según la publicación de Free Software Foundation; versión 2 de la Licencia.</string>
+ <string name="about_display_8">Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR.</string>
+ <string name="action_settings">Preferencias</string>
+ <string name="action_about">Acerca de</string>
+ <string name="action_alert">Alerta</string>
+ <string name="action_back">Atrás</string>
+ <string name="action_blank">Alternar Pantalla</string>
+ <string name="action_preferences">Preferencias</string>
+ <string name="action_refresh">Actualizar</string>
+ <string name="action_search">Buscar</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Cancelar</string>
+ <string name="connection_configuration">Configurar Red</string>
+ <string name="connection_password">Clave</string>
+ <string name="connection_profile">Detalles de Servidor</string>
+ <string name="connection_profile_ssl_use">Usar HTTPS</string>
+ <string name="connection_profile_ssl_summary">Especificar si se debe usar HTTPS</string>
+ <string name="connection_timeout">Tiempo de espera de conexión</string>
+ <string name="connection_timeout_summary">Seleccione un valor (en milisegundos)</string>
+ <string name="connection_userid">Usuario</string>
+ <string name="custom_timeout">Tiempo de espera personalizado</string>
+ <string name="display_blank_summary">Seleccionar la pantalla requerida</string>
+ <string name="display_desktop">Mostrar Fondo del Escritorio</string>
+ <string name="display_reset">Mostrar pantalla En Vivo</string>
+ <string name="display_settings">Preferencias de pantalla</string>
+ <string name="display_screen">Mostrar Negro solamente</string>
+ <string name="display_theme">Mostrar Tema solamente</string>
+ <string name="enable_custom_timeouts">Permitir tiempos de espera personalizados</string>
+ <string name="enter_alert_text">Ingrese Texto de Alerta</string>
+ <string name="home">Inicio</string>
+ <string name="httpreturn_unauthorised">Acceso No Autorizado, ingrese usuario y clave válidos</string>
+ <string name="live_list">Lista En Vivo</string>
+ <string name="navigation_drawer_open">Abrir cajón de navegación</string>
+ <string name="navigation_drawer_close">Cerrar cajón de navegación</string>
+ <string name="next">Siguiente</string>
+ <string name="none">Ninguno</string>
+ <string name="port">Puerto</string>
+ <string name="previous">Anterior</string>
+ <string name="process">Procesar</string>
+ <string name="service_list">Lista de Servicio</string>
+ <string name="stage_view">Vista de Escenario</string>
+ <string name="text_size">Seleccione tamaño del texto</string>
+ <string name="text_size_summary">Cambia el tamaño de texto del Servicio</string>
+ <string name="title_activity_settings">Preferencias</string>
+ <string name="url_hint">Nombre de host o IP</string>
+ <string name="unable">No se pudo procesar la solicitud - revise la configuración de red</string>
+</resources>
=== added directory 'app/src/main/res/values-et'
=== added file 'app/src/main/res/values-et/strings.xml'
--- app/src/main/res/values-et/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-et/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,53 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP on vaba kiriku esitlustarkvara</string>
+ <string name="about_display_2">Rohkem saab teada OpenLP veebilehelt</string>
+ <string name="about_display_4">Autoriõigused</string>
+ <string name="about_display_5">Osalised autoriõigused</string>
+ <string name="about_display_6">Litsents</string>
+ <string name="action_settings">Sätted</string>
+ <string name="action_about">Rakendusest</string>
+ <string name="action_alert">Teade</string>
+ <string name="action_back">Tagasi</string>
+ <string name="action_blank">Kuva vahetus</string>
+ <string name="action_preferences">Eelistused</string>
+ <string name="action_refresh">Värskenda</string>
+ <string name="action_search">Otsi</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Loobu</string>
+ <string name="connection_configuration">Seadista võrk</string>
+ <string name="connection_password">Parool</string>
+ <string name="connection_profile">Serveri andmed</string>
+ <string name="connection_profile_ssl_use">HTTPSi kasutamine</string>
+ <string name="connection_profile_ssl_summary">Määra, kas kasutada tuleks HTTPSi kaudu ühendust</string>
+ <string name="connection_timeout">Ühenduse aegumine</string>
+ <string name="connection_timeout_summary">Vali kestus (millisekundid)</string>
+ <string name="connection_userid">Kasutajanimi</string>
+ <string name="custom_timeout">Päringu aegumine</string>
+ <string name="display_blank_summary">Vali nõutud kuva</string>
+ <string name="display_desktop">Töölaua tausta näitamine</string>
+ <string name="display_reset">Laivi kuva</string>
+ <string name="display_settings">Kuvasätted</string>
+ <string name="display_screen">Kuva musta</string>
+ <string name="display_theme">Kuva ainult teemat</string>
+ <string name="enable_custom_timeouts">Kohandatud aegumisegade kasutamine</string>
+ <string name="enter_alert_text">Hoiatuse tekst</string>
+ <string name="enable_autoscroll">Kuvad võivad automaatselt paigutuda keskele</string>
+ <string name="home">Kodu</string>
+ <string name="httpreturn_unauthorised">Lubamatu ligipääs, palun sisesta õiged kasutajanimi ja parool.</string>
+ <string name="live_list">Ekraanil</string>
+ <string name="navigation_drawer_open">Ava navisahtel</string>
+ <string name="navigation_drawer_close">Sulge navisahtel</string>
+ <string name="next">Järgmine</string>
+ <string name="none">Puudub</string>
+ <string name="port">Port</string>
+ <string name="previous">Eelmine</string>
+ <string name="process">Töötlemine</string>
+ <string name="service_list">Teenistuste loend</string>
+ <string name="stage_view">Lavavaade</string>
+ <string name="text_size">Teksti suurus</string>
+ <string name="text_size_summary">Vaikimisi teenistuse teksti suuruse muutmine</string>
+ <string name="title_activity_settings">Sätted</string>
+ <string name="url_hint">Hostinimi või IP</string>
+ <string name="unable">Päringu töötlemine on võimatu - kontrolli võrgusätteid</string>
+</resources>
=== added directory 'app/src/main/res/values-fi'
=== added file 'app/src/main/res/values-fi/strings.xml'
--- app/src/main/res/values-fi/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-fi/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP on vapaalevitteinen seurakuntien esitysohjelmisto.</string>
+ <string name="about_display_2">Lisätietoja löytyy OpenLP verkkosivulta</string>
+ <string name="about_display_4">Tekijäinoikeudet</string>
+ <string name="about_display_5">Osien tekijäinoikeudet</string>
+ <string name="about_display_6">Lisenssi</string>
+ <string name="about_display_7">Tämä ohjelma on vapaa, voit jakaa ja / tai muuttaa sitä ehtojen mukaisesti GNU General Public Licensen julkaissut Free Software Foundation, version 2 lisenssillä.</string>
+ <string name="about_display_8">Tätä ohjelmaa levitetään siinä toivossa, että se olisi hyödyllinen, mutta ilman mitään takuuta; ilman edes hiljaista takuuta kaupallisesti hyväksyttävästä laadusta tai soveltuvuudesta tiettyyn tarkoitukseen.</string>
+ <string name="action_settings">Asetukset</string>
+ <string name="action_about">Tietoja</string>
+ <string name="action_alert">Huomioviesti</string>
+ <string name="action_back">Takaisin</string>
+ <string name="action_blank">Näytä tai piilota näyttö</string>
+ <string name="action_preferences">Asetukset</string>
+ <string name="action_refresh">Päivitä</string>
+ <string name="action_search">Etsi</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Peruuta</string>
+ <string name="connection_configuration">Verkon asetukset</string>
+ <string name="connection_password">Salasana</string>
+ <string name="connection_profile">Palvelimen asetukset</string>
+ <string name="connection_profile_ssl_use">Käytä HTTPS</string>
+ <string name="connection_profile_ssl_summary">Määrittele tahdotaanko HTTPS ottaa käyttöön</string>
+ <string name="connection_timeout">Yhteyden aikakatkaisu</string>
+ <string name="connection_timeout_summary">Valitse arvo (millisekuntia)</string>
+ <string name="connection_userid">Käyttäjätunnus</string>
+ <string name="custom_timeout">Säädä mukautettu aikakatkaisu</string>
+ <string name="display_blank_summary">Valitse vaadittu näyttölaite</string>
+ <string name="display_desktop">Näytä työpöydän tausta</string>
+ <string name="display_list_autoscroll">Salli valittavan nimikkeen vierittäminen luettelon keskimmäiseksi</string>
+ <string name="display_reset">Näytä Esitys näyttö</string>
+ <string name="display_settings">Näytön asetukset</string>
+ <string name="display_screen">Näytä vain pimennys</string>
+ <string name="display_theme">Näytä vain teema</string>
+ <string name="enable_custom_timeouts">Salli mukautetut viiveet</string>
+ <string name="enter_alert_text">Kirjoita huomioviesti tähän</string>
+ <string name="enable_autoscroll">Salli näyttöjen automaattinen keskitys</string>
+ <string name="home">Koti</string>
+ <string name="httpreturn_unauthorised">Ei pääsyä, ole hyvä ja anna kelvollinen käyttäjätunnus ja salasana</string>
+ <string name="live_list">Lista</string>
+ <string name="live_view">Esitysnäkymä</string>
+ <string name="navigation_drawer_open">Avaa navigointi</string>
+ <string name="navigation_drawer_close">Sulje navigointi</string>
+ <string name="next">Seuraava</string>
+ <string name="none">Ei mitään</string>
+ <string name="port">Portti</string>
+ <string name="previous">Edellinen</string>
+ <string name="process">Prosessoi</string>
+ <string name="service_list">Palveluluettelo</string>
+ <string name="stage_view">Lavanäyttö</string>
+ <string name="text_size">Valitse näyttötekstin koko</string>
+ <string name="text_size_summary">Vaihda palvelun tekstikokoa</string>
+ <string name="title_activity_settings">Asetukset</string>
+ <string name="url_hint">Koneen nimi tai IP</string>
+ <string name="unable">Pyyntöä ei voi käsitellä - tarkista verkkoasetukset</string>
+</resources>
=== added directory 'app/src/main/res/values-fr'
=== added file 'app/src/main/res/values-fr/strings.xml'
--- app/src/main/res/values-fr/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-fr/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Copyright partiel</string>
+ <string name="about_display_6">Licence</string>
+ <string name="action_settings">Paramètres</string>
+ <string name="action_about">A propos de</string>
+ <string name="action_alert">Alerte</string>
+ <string name="action_back">Arrière</string>
+ <string name="action_preferences">Préférences</string>
+ <string name="action_refresh">Rafraîchir</string>
+ <string name="action_search">Recherche</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Annuler</string>
+ <string name="connection_timeout">Délai de connexion</string>
+ <string name="connection_timeout_summary">Sélectionnez une valeur (millisecondes)</string>
+ <string name="display_blank_summary">Sélectionnez le type vide requis</string>
+ <string name="enable_custom_timeouts">Activer le délai personnalisé</string>
+ <string name="home">Accueil</string>
+ <string name="none">Rien</string>
+ <string name="port">Port</string>
+ <string name="text_size_summary">Modifier la taille du texte du service</string>
+ <string name="title_activity_settings">Paramètres</string>
+ <string name="url_hint">Nom d\'hôte ou IP</string>
+</resources>
=== added directory 'app/src/main/res/values-hu'
=== added file 'app/src/main/res/values-hu/strings.xml'
--- app/src/main/res/values-hu/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-hu/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">Az OpenLP egy templomi/gyülekezeti vetítő szoftver.</string>
+ <string name="about_display_2">További információk az OpenLP-ről a weboldalon</string>
+ <string name="about_display_4">Szerzői jog</string>
+ <string name="about_display_5">Részleges szerzői jog</string>
+ <string name="about_display_6">Licenc</string>
+ <string name="about_display_7">Ez egy szabad szoftver; terjeszthető illetve módosítható a GNU Általános Közreadási Feltételek dokumentumában leírtak szerint - 2. verzió -, melyet a Szabad Szoftver Alapítvány ad ki</string>
+ <string name="about_display_8">Ez a program abban a reményben kerül közreadásra, hogy hasznos lesz, de minden egyéb GARANCIA NÉLKÜL, az eladhatóságra vagy valamely célra való alkalmazhatóságra való származtatott garanciát is beleértve</string>
+ <string name="action_settings">Beállítások</string>
+ <string name="action_about">Névjegy</string>
+ <string name="action_alert">Riasztás</string>
+ <string name="action_back">Vissza</string>
+ <string name="action_blank">Megjelenítés átváltása</string>
+ <string name="action_preferences">Beállítások</string>
+ <string name="action_refresh">Frissítés</string>
+ <string name="action_search">Keresés</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Mégsem</string>
+ <string name="connection_configuration">Hálózat beállítása</string>
+ <string name="connection_password">Jelszó</string>
+ <string name="connection_profile">Szerver részletek</string>
+ <string name="connection_profile_ssl_use">HTTPS alkalmazása</string>
+ <string name="connection_profile_ssl_summary">HTTPS alkalmazásának meghatározása</string>
+ <string name="connection_timeout">Kapcsolódási időtúllépés</string>
+ <string name="connection_timeout_summary">Válassz egy értéket (milliszekundum)</string>
+ <string name="connection_userid">Felhasználói név</string>
+ <string name="custom_timeout">Egyéni időtúllépés beállítása</string>
+ <string name="display_blank_summary">Válaszd ki a kívánt megjelenést</string>
+ <string name="display_desktop">Asztal hátterének megjelenítése</string>
+ <string name="display_list_autoscroll">Görgetés a lista közepére a kijelölt elemhez</string>
+ <string name="display_reset">Élő adás megjelenítése</string>
+ <string name="display_settings">Megjelenítési beállítás</string>
+ <string name="display_screen">Elsötétített képernyő megjelenítése</string>
+ <string name="display_theme">Téma megjelenítése</string>
+ <string name="enable_custom_timeouts">Egyéni időtúllépés engedélyezése</string>
+ <string name="enter_alert_text">Riasztási üzenet megadása</string>
+ <string name="enable_autoscroll">Megjelenés automatikus középre igazítása</string>
+ <string name="home">Kezdőlap</string>
+ <string name="httpreturn_unauthorised">Engedély nélküli hozzáférés, adjon meg érvényes felhasználói nevet és jelszót</string>
+ <string name="live_list">Élő lista</string>
+ <string name="live_view">Élő nézet</string>
+ <string name="navigation_drawer_open">Menü megnyitása</string>
+ <string name="navigation_drawer_close">Menü bezárása</string>
+ <string name="next">Következő</string>
+ <string name="none">Nincs</string>
+ <string name="port">Portszám</string>
+ <string name="previous">Előző</string>
+ <string name="process">Folyamatban</string>
+ <string name="service_list">Sorrend</string>
+ <string name="stage_view">Színpadi nézet</string>
+ <string name="text_size">Betűméret választása</string>
+ <string name="text_size_summary">Sorrend betűméretének módosítása</string>
+ <string name="title_activity_settings">Beállítások</string>
+ <string name="url_hint">Gépnév vagy IP-cím</string>
+ <string name="unable">A kérés feldolgozhatatlan - ellenőrizzük a hálózati beállításokat</string>
+</resources>
=== added directory 'app/src/main/res/values-id'
=== added file 'app/src/main/res/values-id/strings.xml'
--- app/src/main/res/values-id/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-id/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,53 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP adalah perangkat lunak presentasi gratis untuk gereja</string>
+ <string name="about_display_2">Untuk mengetahui lebih lanjut, kunjungi situs OpenLP</string>
+ <string name="about_display_4">Hak Cipta</string>
+ <string name="about_display_5">Bagian hak cipta</string>
+ <string name="about_display_6">Lisensi</string>
+ <string name="about_display_7">Program ini adalah perangkat lunak gratis; Anda dapat menyebarluaskannya dan / atau memodifikasinya di bawah ketentuan GNU General Public License sebagaimana diterbitkan oleh Free Software Foundation; versi 2 dari Lisensi tersebut.</string>
+ <string name="about_display_8">Program ini disebarluaskan dengan harapan bahwa akan berguna, tetapi TANPA JAMINAN APAPUN; bahkan tanpa jaminan yang termasuk pada PERDAGANGAN atau KECOCOKAN UNTUK SUATU TUJUAN TERTENTU.</string>
+ <string name="action_settings">Setelan</string>
+ <string name="action_about">Tentang</string>
+ <string name="action_alert">Peringatan</string>
+ <string name="action_back">Kembali</string>
+ <string name="action_blank">Ganti Tampilan</string>
+ <string name="action_preferences">Pilihan</string>
+ <string name="action_refresh">Segarkan-ulang</string>
+ <string name="action_search">Penelusuran</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Batal</string>
+ <string name="connection_configuration">Mengkonfigurasi Jaringan</string>
+ <string name="connection_password">Kata sandi</string>
+ <string name="connection_profile">Rincian Server</string>
+ <string name="connection_profile_ssl_use">Gunakan HTTPS</string>
+ <string name="connection_profile_ssl_summary">Tentukan apakah HTTPS seharusnya digunakan</string>
+ <string name="connection_timeout">Batas-Waktu Sambungan</string>
+ <string name="connection_timeout_summary">Pilih sebuah nilai (milidetik)</string>
+ <string name="connection_userid">Nama Pengguna</string>
+ <string name="custom_timeout">Setel Batas-waktu Kustom</string>
+ <string name="display_blank_summary">Pilih tampilan yang dibutuhkan</string>
+ <string name="display_desktop">Tampilkan latar Desktop</string>
+ <string name="display_reset">Tampilkan tampilan Tayang</string>
+ <string name="display_screen">Tampilkan Layar Hitam saja</string>
+ <string name="display_theme">Tampilkan Tema saja</string>
+ <string name="enable_custom_timeouts">Aktifkan Batas-Waktu Kustom</string>
+ <string name="enter_alert_text">Masukkan Teks Peringatan</string>
+ <string name="home">Beranda</string>
+ <string name="httpreturn_unauthorised">Akses Tidak sah, silakan masukkan nama pengguna dan kata sandi yang valid</string>
+ <string name="live_list">Daftar Tayang</string>
+ <string name="navigation_drawer_open">Buka penarik navigasi</string>
+ <string name="navigation_drawer_close">Tutup penarik navigasi</string>
+ <string name="next">Selanjutnya</string>
+ <string name="none">Tidak sama sekali</string>
+ <string name="port">Port</string>
+ <string name="previous">Sebelumnya</string>
+ <string name="process">Proses</string>
+ <string name="service_list">Daftar Layanan</string>
+ <string name="stage_view">Tinjuan Bertahap</string>
+ <string name="text_size">Pilih tampilan ukuran teks</string>
+ <string name="text_size_summary">Ubah ukuran teks Layanan</string>
+ <string name="title_activity_settings">Setelan</string>
+ <string name="url_hint">Nama Host atau IP</string>
+ <string name="unable">Tidak dapat memproses permintaan - periksa setelan jaringan</string>
+</resources>
=== added directory 'app/src/main/res/values-it'
=== added file 'app/src/main/res/values-it/strings.xml'
--- app/src/main/res/values-it/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-it/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,6 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_6">Licensa</string>
+ <string name="action_alert">Allerta</string>
+ <string name="action_search">Ricerca</string>
+</resources>
=== added directory 'app/src/main/res/values-ja'
=== added file 'app/src/main/res/values-ja/strings.xml'
--- app/src/main/res/values-ja/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-ja/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,25 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_4">著作権</string>
+ <string name="about_display_5">追加の著作権</string>
+ <string name="about_display_6">ライセンス</string>
+ <string name="action_settings">設定</string>
+ <string name="action_about">情報</string>
+ <string name="action_alert">警告</string>
+ <string name="action_back">戻る</string>
+ <string name="action_preferences">設定</string>
+ <string name="action_refresh">再読込</string>
+ <string name="action_search">検索</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">キャンセル</string>
+ <string name="connection_timeout">接続タイムアウト</string>
+ <string name="connection_timeout_summary">値を選択 (ミリ秒)</string>
+ <string name="display_blank_summary">ブランクの種類を選択してください</string>
+ <string name="enable_custom_timeouts">任意のタイムアウトを有効にする</string>
+ <string name="home">ホーム</string>
+ <string name="none">無し</string>
+ <string name="port">ポート</string>
+ <string name="text_size_summary">礼拝テキストの大きさを変更します</string>
+ <string name="title_activity_settings">設定</string>
+ <string name="url_hint">ホスト名またはIPアドレス</string>
+</resources>
=== added directory 'app/src/main/res/values-ko'
=== added file 'app/src/main/res/values-ko/strings.xml'
--- app/src/main/res/values-ko/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-ko/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_6">라이선스</string>
+ <string name="action_settings">설정</string>
+ <string name="action_alert">알림</string>
+ <string name="action_search">검색</string>
+ <string name="cancel">취소</string>
+ <string name="port">포트</string>
+ <string name="title_activity_settings">설정</string>
+</resources>
=== added directory 'app/src/main/res/values-large'
=== added file 'app/src/main/res/values-large/refs.xml'
--- app/src/main/res/values-large/refs.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-large/refs.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,12 @@
+<resources>
+
+ <!--
+ Layout alias to replace the single-pane version of the layout with a
+ two-pane version on Large screens.
+
+ For more on layout aliases, see:
+ http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
+ -->
+ <item name="fragment_item" type="layout">@layout/fragment_item_grid</item>
+
+</resources>
\ No newline at end of file
=== added directory 'app/src/main/res/values-lt'
=== added file 'app/src/main/res/values-lt/strings.xml'
--- app/src/main/res/values-lt/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-lt/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP yra, bažnyčioms skirta, nemokama pristatymų programinė įranga</string>
+ <string name="about_display_2">Norėdami sužinoti daugiau, aplankykite OpenLP svetainę</string>
+ <string name="about_display_4">Autorių Teisės</string>
+ <string name="about_display_5">Autorių Teisių dalys</string>
+ <string name="about_display_6">Licencija</string>
+ <string name="about_display_7">Ši programa yra nemokama programinė įranga; jūs galite ją platinti ir/arba modifikuoti remdamiesi Free Software Foundation paskelbtomis GNU Bendrosios Viešosios Licencijos sąlygomis; licencijos 2 versija.</string>
+ <string name="about_display_8">Ši programa platinama, tikintis, kad ji bus naudinga, tačiau BE JOKIŲ GARANTIJŲ; netgi be numanomos PARDAVIMO ar TINKAMUMO TAM TIKRAM TIKSLUI GARANTIJOS</string>
+ <string name="action_settings">Nustatymus</string>
+ <string name="action_about">Apie</string>
+ <string name="action_alert">Įspėjimas</string>
+ <string name="action_back">Grįžti</string>
+ <string name="action_blank">Perjungti Ekraną</string>
+ <string name="action_preferences">Nuostatos</string>
+ <string name="action_refresh">Įkelti iš naujo</string>
+ <string name="action_search">Paieška</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Atšaukti</string>
+ <string name="connection_configuration">Konfigūruoti Tinklą</string>
+ <string name="connection_password">Slaptažodis</string>
+ <string name="connection_profile">Išsamiau apie Serverį</string>
+ <string name="connection_profile_ssl_use">Naudoti HTTPS</string>
+ <string name="connection_profile_ssl_summary">Nurodykite ar turėtų būti naudojamas HTTPS</string>
+ <string name="connection_timeout">Sujungimo Laiko Limitas</string>
+ <string name="connection_timeout_summary">Pasirinkite reikšmę (milisekundėmis)</string>
+ <string name="connection_userid">Vartotojo vardas</string>
+ <string name="custom_timeout">Nustatyti Pasirinktiną Laukimo Laiką</string>
+ <string name="display_blank_summary">Pasirinkite reikiamą ekraną</string>
+ <string name="display_desktop">Rodyti Darbalaukio foną</string>
+ <string name="display_list_autoscroll">Leisti slinkti pasirinktą elementą į sąrašo centrą</string>
+ <string name="display_reset">Rodyti Gyvai ekraną</string>
+ <string name="display_settings">Ekrano Nustatymas</string>
+ <string name="display_screen">Rodyti tik Juodą</string>
+ <string name="display_theme">Rodyti tik Temą</string>
+ <string name="enable_custom_timeouts">Įjungti Pasirinktinius Laiko Limitus</string>
+ <string name="enter_alert_text">Įveskite Įspėjimo Tekstą</string>
+ <string name="enable_autoscroll">Leisti automatiškai centruoti ekranus</string>
+ <string name="home">Pradžia</string>
+ <string name="httpreturn_unauthorised">Neleistina Prieiga, prašome įvesti teisingą vartotojo vardą bei slaptažodį</string>
+ <string name="live_list">Sąrašas Gyvai</string>
+ <string name="live_view">Gyvas Rodinys</string>
+ <string name="navigation_drawer_open">Atidaryti naršymo stalčių</string>
+ <string name="navigation_drawer_close">Uždaryti naršymo stalčių</string>
+ <string name="next">Kitas</string>
+ <string name="none">Joks</string>
+ <string name="port">Prievadas</string>
+ <string name="previous">Ankstesnis</string>
+ <string name="process">Vykdyti</string>
+ <string name="service_list">Pamaldų Programos Sąrašas</string>
+ <string name="stage_view">Scenos Rodinys</string>
+ <string name="text_size">Pasirinkite rodomo teksto dydį</string>
+ <string name="text_size_summary">Keisti Pamaldų programos teksto dydį</string>
+ <string name="title_activity_settings">Nustatymus</string>
+ <string name="url_hint">Kompiuterio vardas arba IP</string>
+ <string name="unable">Negalima apdoroti užklausos - patikrinkite tinklo nustatymus</string>
+</resources>
=== added directory 'app/src/main/res/values-lv'
=== added file 'app/src/main/res/values-lv/strings.xml'
--- app/src/main/res/values-lv/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-lv/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,8 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="action_settings">Iestatījumi</string>
+ <string name="app_name">OpenLP</string>
+ <string name="connection_timeout">Savienojuma laika beigas</string>
+ <string name="connection_timeout_summary">Izvēlieties vērtību (milisekundes)</string>
+ <string name="title_activity_settings">Iestatījumi</string>
+</resources>
=== added directory 'app/src/main/res/values-mk'
=== added file 'app/src/main/res/values-mk/strings.xml'
--- app/src/main/res/values-mk/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-mk/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_6">Лиценца</string>
+ <string name="action_alert">Предупредување</string>
+</resources>
=== added directory 'app/src/main/res/values-ml'
=== added file 'app/src/main/res/values-ml/strings.xml'
--- app/src/main/res/values-ml/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-ml/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="action_alert">ജാഗ്രത</string>
+</resources>
=== added directory 'app/src/main/res/values-nb'
=== added file 'app/src/main/res/values-nb/strings.xml'
--- app/src/main/res/values-nb/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-nb/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP er en gratis presentasjonsprogramvare for menigheter</string>
+ <string name="about_display_2">For videre opplysninger besøk OpenLP sin hjemmeside</string>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Andel av opphavsrett</string>
+ <string name="about_display_6">Lisens</string>
+ <string name="about_display_7">Dette programmet er gratis programvare; du kan redistribuere det og/eller endre det under betingelsene i GNU General Public License versjon 2, publisert av Free Software Foundation</string>
+ <string name="about_display_8">Dette programmet er distribuert i det håp at det vil være nyttig, men UTEN NOEN FORM FOR GARANTI; heller ingen underforståtte garanti om SALGBARHET eller ANVENDELIGHET FOR ET SPESIELT FORMÅL.</string>
+ <string name="action_settings">Innstillinger</string>
+ <string name="action_about">Om</string>
+ <string name="action_alert">Melding</string>
+ <string name="action_back">Tilbake</string>
+ <string name="action_blank">Skifte skjermvisning</string>
+ <string name="action_preferences">Innstillinger</string>
+ <string name="action_refresh">Oppdater</string>
+ <string name="action_search">Søk</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Avbryt</string>
+ <string name="connection_configuration">Konfigurer nettverk</string>
+ <string name="connection_password">Passord</string>
+ <string name="connection_profile">Serverditaljer</string>
+ <string name="connection_profile_ssl_use">Bruk HTTPS</string>
+ <string name="connection_profile_ssl_summary">Angi om HTTPS skal brukes</string>
+ <string name="connection_timeout">Tidsavbrudd for tilkobling</string>
+ <string name="connection_timeout_summary">Velg en verdi (millisekund)</string>
+ <string name="connection_userid">Brukernavn</string>
+ <string name="custom_timeout">Angi egendefinert tidsavbrudd</string>
+ <string name="display_blank_summary">Velg ønsket visning</string>
+ <string name="display_desktop">Vis skrivebordsbakgrunn</string>
+ <string name="display_list_autoscroll">Tillat valgt punkt å rulle til midt på listen</string>
+ <string name="display_reset">Vis aktivt bilde</string>
+ <string name="display_settings">Skjerminnstilling</string>
+ <string name="display_screen">Vis sort skjerm</string>
+ <string name="display_theme">Vis tema</string>
+ <string name="enable_custom_timeouts">Aktiver egendefinerte tidsavbrudd</string>
+ <string name="enter_alert_text">Skriv meldingstekst</string>
+ <string name="enable_autoscroll">Tillat automatisk sentrering av skjermene</string>
+ <string name="home">Hjem</string>
+ <string name="httpreturn_unauthorised">Ikke godkjent tilgang, vennligst skriv gyldig brukernavn og passord</string>
+ <string name="live_list">Framvisningsliste</string>
+ <string name="live_view">Skjermvisning</string>
+ <string name="navigation_drawer_open">Åpne navigasjonsmenyen</string>
+ <string name="navigation_drawer_close">Lukke navigasjonsmenyen</string>
+ <string name="next">Neste</string>
+ <string name="none">Ingen</string>
+ <string name="port">Port</string>
+ <string name="previous">Forrige</string>
+ <string name="process">Behandle</string>
+ <string name="service_list">Møteprogramliste</string>
+ <string name="stage_view">Scenevisning</string>
+ <string name="text_size">Velg tekststørrelse i skjerm</string>
+ <string name="text_size_summary">Endre tekststørrelsen i møteprogrammet</string>
+ <string name="title_activity_settings">Innstillinger</string>
+ <string name="url_hint">Vertsnavn eller IP</string>
+ <string name="unable">Kan ikke behandle forespørselen - sjekk nettverksinnstillingene</string>
+</resources>
=== added directory 'app/src/main/res/values-nl'
=== added file 'app/src/main/res/values-nl/strings.xml'
--- app/src/main/res/values-nl/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-nl/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,53 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP is gratis presentatiesoftware voor kerken</string>
+ <string name="about_display_2">Lees meer over OpenLP op de website</string>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Onderdelen copyright</string>
+ <string name="about_display_6">Licentie</string>
+ <string name="about_display_7">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License</string>
+ <string name="about_display_8">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE</string>
+ <string name="action_settings">Instellingen</string>
+ <string name="action_about">Over</string>
+ <string name="action_alert">Waarschuwing</string>
+ <string name="action_back">Terug</string>
+ <string name="action_blank">Scherm leegmaken</string>
+ <string name="action_preferences">Voorkeuren</string>
+ <string name="action_refresh">Vernieuwen</string>
+ <string name="action_search">Zoek</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Annuleer</string>
+ <string name="connection_configuration">Netwerk instellen</string>
+ <string name="connection_password">Wachtwoord</string>
+ <string name="connection_profile">Serverdetails</string>
+ <string name="connection_profile_ssl_use">Gebruik HTTPS</string>
+ <string name="connection_profile_ssl_summary">Geef aan of HTTPS gebruikt moet worden</string>
+ <string name="connection_timeout">Verbindingstimeout</string>
+ <string name="connection_timeout_summary">Selecteer een waarde (milliseconden)</string>
+ <string name="connection_userid">Gebruikersnaam</string>
+ <string name="custom_timeout">Aangepaste timeout instellen</string>
+ <string name="display_blank_summary">Selecteer het verplichte scherm</string>
+ <string name="display_desktop">Toon Desktop achtergrond</string>
+ <string name="display_reset">Toon live scherm</string>
+ <string name="display_screen">Toon alleen zwart</string>
+ <string name="display_theme">Toon alleen thema</string>
+ <string name="enable_custom_timeouts"> Aangepaste timeouts toestaan</string>
+ <string name="enter_alert_text">Voer waarschuwingstekst in</string>
+ <string name="home">Startpagina</string>
+ <string name="httpreturn_unauthorised">Geen toegang, voer juiste gebruikersnaam en wachtwoord in</string>
+ <string name="live_list">Live lijst</string>
+ <string name="navigation_drawer_open">Open navigatiemenu</string>
+ <string name="navigation_drawer_close">Sluit navigatiemenu</string>
+ <string name="next">Volgende</string>
+ <string name="none">Niet</string>
+ <string name="port">Poort</string>
+ <string name="previous">Vorige</string>
+ <string name="process">Verwerken</string>
+ <string name="service_list">Liturgie lijst</string>
+ <string name="stage_view">Podiumweergave</string>
+ <string name="text_size">Selecteer schermtekstgrootte</string>
+ <string name="text_size_summary">Verander lettergrootte liturgie</string>
+ <string name="title_activity_settings">Instellingen</string>
+ <string name="url_hint">Hostname of IP adres</string>
+ <string name="unable">Kon aanvraag niet behandelen - controleer netwerkinstellingen</string>
+</resources>
=== added directory 'app/src/main/res/values-nn'
=== added file 'app/src/main/res/values-nn/strings.xml'
--- app/src/main/res/values-nn/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-nn/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="action_settings">Innstillingar.</string>
+ <string name="action_alert">Varsling</string>
+ <string name="app_name">OpenLP</string>
+ <string name="connection_timeout">Tidsavbrot for tilkopling</string>
+ <string name="connection_timeout_summary">Oppgje ein verdi i millisekund</string>
+ <string name="port">Port</string>
+ <string name="title_activity_settings">Innstillingar.</string>
+</resources>
=== added directory 'app/src/main/res/values-pap'
=== added file 'app/src/main/res/values-pap/strings.xml'
--- app/src/main/res/values-pap/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-pap/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,17 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_4">Derecho di outor</string>
+ <string name="about_display_6">Lisensia</string>
+ <string name="action_settings">Konfigurashon</string>
+ <string name="action_about">Informashon</string>
+ <string name="action_alert">Aviso</string>
+ <string name="action_preferences">Preferensia</string>
+ <string name="action_search">Buska</string>
+ <string name="app_name">OpenLP</string>
+ <string name="display_blank_summary">Selekta e tipo blanko nesesario</string>
+ <string name="enable_custom_timeouts">Permití Timeout adaptá</string>
+ <string name="none">Niun</string>
+ <string name="port">Port</string>
+ <string name="title_activity_settings">Konfigurashon</string>
+ <string name="url_hint">Hostname òf IP</string>
+</resources>
=== added directory 'app/src/main/res/values-pl'
=== added file 'app/src/main/res/values-pl/strings.xml'
--- app/src/main/res/values-pl/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-pl/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,51 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP jest wolnym programem do obsługi kościelnego projektora</string>
+ <string name="about_display_2">Dowiedz się więcej na stronie OpenLP</string>
+ <string name="about_display_4">Prawa autorskie</string>
+ <string name="about_display_5">Cząstkowe prawa autorskie</string>
+ <string name="about_display_6">Licencja</string>
+ <string name="about_display_7">Ten program jest wolnym oprogramowaniem; możesz go rozprzestrzeniać lub modyfikować zgodnie z zasadami Powszechnej Licencji Publicznej GNU, wydanej przez Fundację Wolnego Oprogramowania; zgodnie z 2 wersją tej Licencji</string>
+ <string name="about_display_8">Ten program jest rozpowszechniany w nadziei, że będzie pożyteczny, ale BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ</string>
+ <string name="action_settings">Ustawienia</string>
+ <string name="action_about">O programie</string>
+ <string name="action_alert">Komunikat</string>
+ <string name="action_back">Wróć</string>
+ <string name="action_preferences">Preferencje</string>
+ <string name="action_refresh">Odśwież</string>
+ <string name="action_search">Szukaj</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Anuluj</string>
+ <string name="connection_configuration">Konfiguruj sieć</string>
+ <string name="connection_password">Hasło</string>
+ <string name="connection_profile">Szczegóły serwera</string>
+ <string name="connection_profile_ssl_use">Używaj HTTPS</string>
+ <string name="connection_profile_ssl_summary">Sprecyzuj czy HTTPS powinno być używane</string>
+ <string name="connection_timeout">Limit czasowy połączenia</string>
+ <string name="connection_timeout_summary">Wybierz wartość (milisekundy)</string>
+ <string name="connection_userid">Nazwa użytkownika</string>
+ <string name="custom_timeout">Ustaw inny limit czasowy</string>
+ <string name="display_blank_summary">Wybierz wyświetlacz</string>
+ <string name="display_desktop">Wyświetl tło ekranu</string>
+ <string name="display_reset">Pokaż Ekran</string>
+ <string name="display_screen">Wyświetl czarny ekran</string>
+ <string name="display_theme">Wyświetl tylko motyw</string>
+ <string name="enable_custom_timeouts">Niestandardowy limit czasu</string>
+ <string name="enter_alert_text">Wpisz tekst komunikatu</string>
+ <string name="home">Home</string>
+ <string name="httpreturn_unauthorised">Nieuprawniony dostęp, proszę wprowadź nazwę użytkownika oraz hasło.</string>
+ <string name="live_list">Plan nabożeństwa</string>
+ <string name="live_view">Ekran</string>
+ <string name="next">Następny</string>
+ <string name="none">Nic</string>
+ <string name="port">Port</string>
+ <string name="previous">Poprzedni</string>
+ <string name="process">Wyświetl</string>
+ <string name="service_list">Plan Nabożeństwa</string>
+ <string name="stage_view">Scena</string>
+ <string name="text_size">Wybierz rozmiar wyświetlanego tekstu </string>
+ <string name="text_size_summary">Zmień rozmiar czcionki w Planie Nabożeństwa</string>
+ <string name="title_activity_settings">Ustawienia</string>
+ <string name="url_hint">Nazwa hosta lub IP</string>
+ <string name="unable">Nie można wykonać żądania - sprawdź ustawienia sieciowe</string>
+</resources>
=== added directory 'app/src/main/res/values-pt-rBR'
=== added file 'app/src/main/res/values-pt-rBR/strings.xml'
--- app/src/main/res/values-pt-rBR/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-pt-rBR/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">O OpenLP é um software livre para exibições em igrejas</string>
+ <string name="about_display_2">Para saber mais visite o site do OpenLP</string>
+ <string name="about_display_4">Direitos Autorais</string>
+ <string name="about_display_5">Partes copyright</string>
+ <string name="about_display_6">Licença</string>
+ <string name="about_display_7">Este programa é um software livre; você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU como publicada pela Fundação do Software Livre; na versão 2 da Licença.</string>
+ <string name="about_display_8">Este programa é distribuido na esperança que será útil, mas SEM NENHUMA GARANTIA; sem mesmo a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO PARA UM DETERMINADO FIM. Veja abaixo para maiores detalhes.</string>
+ <string name="action_settings">Configurações</string>
+ <string name="action_about">Sobre</string>
+ <string name="action_alert">Alertar</string>
+ <string name="action_back">Voltar</string>
+ <string name="action_blank">Altenar Monitor</string>
+ <string name="action_preferences">Preferências</string>
+ <string name="action_refresh">Atualizar</string>
+ <string name="action_search">Busca</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Cancelar</string>
+ <string name="connection_configuration">Configurar Rede</string>
+ <string name="connection_password">Senha</string>
+ <string name="connection_profile">Detalhes do Servidor</string>
+ <string name="connection_profile_ssl_use">Usar HTTPS</string>
+ <string name="connection_profile_ssl_summary">Especifique se o HTTPS deve ser usado</string>
+ <string name="connection_timeout">Tempo limite de conexão</string>
+ <string name="connection_timeout_summary">Selecione um valor (em milissegundos)</string>
+ <string name="connection_userid">Usuário</string>
+ <string name="custom_timeout">Ativar Timeout Personalizado</string>
+ <string name="display_blank_summary">Selecione o monitor requerido</string>
+ <string name="display_desktop">Exibir Plano de Fundo da Área de Trabalho</string>
+ <string name="display_reset">Mostrar Visualização Ao Vivo</string>
+ <string name="display_settings">Configurações de Exibição</string>
+ <string name="display_screen">Exibir Tela Preta</string>
+ <string name="display_theme">Exibir Tema</string>
+ <string name="enable_custom_timeouts">Habilitar Timeouts personalizados</string>
+ <string name="enter_alert_text">Digitar Texto de Alerta</string>
+ <string name="home">Home</string>
+ <string name="httpreturn_unauthorised">Acesso não autorizado, por favor, digite usuário e senha válidos</string>
+ <string name="live_list">Lista Ao Vivo</string>
+ <string name="next">Próximo</string>
+ <string name="none">Nenhum</string>
+ <string name="port">Porta</string>
+ <string name="previous">Anterior</string>
+ <string name="process">Processo</string>
+ <string name="service_list">Lista de Serviço</string>
+ <string name="stage_view">Visualização de Palvo</string>
+ <string name="text_size">Selecionar tamanho do monitor de exibição</string>
+ <string name="text_size_summary">Alterar o tamanho do texto de culto</string>
+ <string name="title_activity_settings">Configurações</string>
+ <string name="url_hint">Hostname ou IP</string>
+ <string name="unable">Não é possível processar o pedido - verifique as configurações de rede</string>
+</resources>
=== added directory 'app/src/main/res/values-ro'
=== added file 'app/src/main/res/values-ro/strings.xml'
--- app/src/main/res/values-ro/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-ro/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP este un program gratuit de prezentare pentru biserică</string>
+ <string name="about_display_2">Pentru a afla mai multe vizitați pagina web OpenLP</string>
+ <string name="about_display_4">Drepturi de autor</string>
+ <string name="about_display_5">Drepturi de autor pentru bucăți</string>
+ <string name="about_display_6">Licența</string>
+ <string name="about_display_7">Acest program este gratuit; puteți să îl redistribuiți și/sau să îl modificați în termenii GNU General Public License cum au fost publicați de Free Software Foundation; versiunea 2 a Liceței</string>
+ <string name="about_display_8">Acest program este distribuit în speranța că va fi folositor, dar FĂRĂ NICI O GARANȚIE; nici măcar a garanției implicite de COMERCIALIZARE sau POTRIVIRE PENTRU UN ANUMIT SCOP</string>
+ <string name="action_settings">Setări</string>
+ <string name="action_about">Despre</string>
+ <string name="action_alert">Anunț</string>
+ <string name="action_back">Înapoi</string>
+ <string name="action_blank">Schimbă Ecranul</string>
+ <string name="action_preferences">Preferințe</string>
+ <string name="action_refresh">Reîncărcare</string>
+ <string name="action_search">Căutare</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Anulare</string>
+ <string name="connection_configuration">Configurează Rețeaua</string>
+ <string name="connection_password">Parola</string>
+ <string name="connection_profile">Detalii Server</string>
+ <string name="connection_profile_ssl_use">Folosește HTTPS</string>
+ <string name="connection_profile_ssl_summary">Specificați dacă ar trebui folosit HTTPS</string>
+ <string name="connection_timeout">Conexiunea a expirat</string>
+ <string name="connection_timeout_summary">Selectați o valoare (milisecunde)</string>
+ <string name="connection_userid">Nume utilizator</string>
+ <string name="custom_timeout">Stabiliți timp personalizat de expirare</string>
+ <string name="display_blank_summary">Selectați ecranul necesar</string>
+ <string name="display_desktop">Afișați fundalul spațiului de lucru</string>
+ <string name="display_list_autoscroll">Permite elementului selectat să se deplaseze în mijlocul listei</string>
+ <string name="display_reset">Afișați ecranul \"În direct\"</string>
+ <string name="display_settings">Setare de Afișare</string>
+ <string name="display_screen">Afișați numai negru</string>
+ <string name="display_theme">Afișați numai tema</string>
+ <string name="enable_custom_timeouts">Activează timp de expirare personalizat</string>
+ <string name="enter_alert_text">Introduceți textul Anunțului</string>
+ <string name="enable_autoscroll">Permite ecranelor să se auto-centreze</string>
+ <string name="home">Acasă</string>
+ <string name="httpreturn_unauthorised">Acces neautorizat, vă rog introduceți numele de utilizator și parola corecte.</string>
+ <string name="live_list">Lista În direct</string>
+ <string name="live_view">Vizualizare În direct</string>
+ <string name="navigation_drawer_open">Deschide bara de navigare</string>
+ <string name="navigation_drawer_close">Închide bara de navigare</string>
+ <string name="next">Următor</string>
+ <string name="none">nimic</string>
+ <string name="port">Port</string>
+ <string name="previous">Anterior</string>
+ <string name="process">Proces</string>
+ <string name="service_list">Lista de Serviciu</string>
+ <string name="stage_view">Vizualizare pentru Scenă</string>
+ <string name="text_size">Selectați mărimea textului afișat</string>
+ <string name="text_size_summary">Schimbați mărimea textului Serviciului</string>
+ <string name="title_activity_settings">Setări</string>
+ <string name="url_hint">Hostname sau IP</string>
+ <string name="unable">Nu se poate procesa cererea - verificați setările de rețea</string>
+</resources>
=== added directory 'app/src/main/res/values-ru'
=== added file 'app/src/main/res/values-ru/strings.xml'
--- app/src/main/res/values-ru/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-ru/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,47 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP является бесплатным церковным программным обеспечением для презентаций</string>
+ <string name="about_display_2">Чтобы узнать больше, посетите веб-сайт OpenLP</string>
+ <string name="about_display_4">Авторские права</string>
+ <string name="about_display_5">Portions copyright</string>
+ <string name="about_display_6">Лицензия</string>
+ <string name="about_display_7">Эта программа является свободным программным обеспечением; Вы можете распространять и / или изменять его в соответствии с условиями GNU General Public License, опубликованной Фондом свободного программного обеспечения, версия 2 Лицензии</string>
+ <string name="about_display_8">Эта программа распространяется в надежде, что она будет полезной, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемых гарантий КОММЕРЧЕСКОЙ ЦЕННОСТИ или ПРИГОДНОСТИ ДЛЯ КОНКРЕТНЫХ ЦЕЛЕЙ</string>
+ <string name="action_settings">Параметры</string>
+ <string name="action_about">О програме</string>
+ <string name="action_alert">Оповещение</string>
+ <string name="action_back">Черный</string>
+ <string name="action_blank">Переключите экран</string>
+ <string name="action_preferences">Настройки</string>
+ <string name="action_refresh">Обновить</string>
+ <string name="action_search">Поиск</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Отмена</string>
+ <string name="connection_configuration">Настроить сеть</string>
+ <string name="connection_password">Пароль</string>
+ <string name="connection_profile">Параметры сервера</string>
+ <string name="connection_profile_ssl_use">Использовать HTTPS</string>
+ <string name="connection_profile_ssl_summary">Укажите, следует ли использовать HTTPS</string>
+ <string name="connection_timeout">Время ожидания соединения</string>
+ <string name="connection_timeout_summary">Выберите значение (в миллисекундах)</string>
+ <string name="custom_timeout">Установить пользовательский тайм-аут</string>
+ <string name="display_blank_summary">Выберите нужный тип блокировки</string>
+ <string name="display_desktop">Показать рабочий стол</string>
+ <string name="display_reset">Сбросить дисплей</string>
+ <string name="display_screen">Очистить дисплей (черный)</string>
+ <string name="display_theme">Очистить контент дисплея</string>
+ <string name="enable_custom_timeouts">Включить пользовательские тайм-ауты</string>
+ <string name="enter_alert_text">Введите текст оповещения</string>
+ <string name="home">Домой</string>
+ <string name="none">Ничего</string>
+ <string name="port">Порт</string>
+ <string name="process">Выполнение</string>
+ <string name="service_list">Список служения</string>
+ <string name="stage_view">Вид сцены</string>
+
+ <string name="text_size">Выберите размер текста</string>
+ <string name="text_size_summary">Изменить размер текста Служения</string>
+ <string name="title_activity_settings">Параметры</string>
+ <string name="url_hint">Имя хоста или IP</string>
+ <string name="unable">Невозможно выполнить запрос - проверьте настройки сети</string>
+</resources>
=== added directory 'app/src/main/res/values-sk'
=== added file 'app/src/main/res/values-sk/strings.xml'
--- app/src/main/res/values-sk/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-sk/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP je voľne dostupná kresťanská prezentačná aplikácia.</string>
+ <string name="about_display_2">Pre viac informácií navštívte OpenLP web</string>
+ <string name="about_display_4">Autorské práva</string>
+ <string name="about_display_5">Čiastočné autorské práva</string>
+ <string name="about_display_6">Licencia</string>
+ <string name="about_display_7">Tento program je slobodný software; môžete ho šířiť a modifikovať podľa ustanovení GNU General Public License, vydávanej Free Software Foundation; a to podľa verze 2 tejto licencie</string>
+ <string name="about_display_8">Tento program je šírený v nádeji, že bude užitočný, avšak BEZ AKÉJKOĽVEK ZÁRUKY; neposkytujú sa ani odvodené záruky PREDAJNOSTI alebo VHODNOSTI PRE URČITÝ ÚČEL</string>
+ <string name="action_settings">Nastavenia</string>
+ <string name="action_about">O aplikácii</string>
+ <string name="action_alert">Upozornenie</string>
+ <string name="action_back">Naspäť</string>
+ <string name="action_blank">Zmeniť zobrazenie</string>
+ <string name="action_preferences">Nastavenia</string>
+ <string name="action_refresh">Obnoviť</string>
+ <string name="action_search">Hľadať</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Zrušiť</string>
+ <string name="connection_configuration">Nastavenie sieťe</string>
+ <string name="connection_password">Heslo</string>
+ <string name="connection_profile">Podrobnosti servera</string>
+ <string name="connection_profile_ssl_use">Použiť HTTPS</string>
+ <string name="connection_profile_ssl_summary">Upresniť či by malo byť použité HTTPS</string>
+ <string name="connection_timeout">Časový limit spojenia</string>
+ <string name="connection_timeout_summary">Vybrať hodnotu (milisekundy)</string>
+ <string name="connection_userid">Používateľské meno</string>
+ <string name="custom_timeout">Nastaviť užívateľský časový limiť</string>
+ <string name="display_blank_summary">Vybrať požadované zobrazenie</string>
+ <string name="display_desktop">Zobraziť pozadie plochy</string>
+ <string name="display_list_autoscroll">Povoliť vybratej položke rolovať na stred zoznamu</string>
+ <string name="display_reset">Zobraziť naživo</string>
+ <string name="display_settings">Nastavenie zobrazenia</string>
+ <string name="display_screen">Zobraziť len čiernu</string>
+ <string name="display_theme">Zobraziť len motív</string>
+ <string name="enable_custom_timeouts">Zapnúť užívateľský časový limit</string>
+ <string name="enter_alert_text">Zadať text upozornenia</string>
+ <string name="enable_autoscroll">Povoliť automatické centrovanie obrazovky</string>
+ <string name="home">Domov</string>
+ <string name="httpreturn_unauthorised">Nepovolený prístup, prosím zadajte správne používateľské meno a heslo</string>
+ <string name="live_list">Zoznam naživo</string>
+ <string name="live_view">Zobrazenie naživo</string>
+ <string name="navigation_drawer_open">Otvoriť navigačný panel</string>
+ <string name="navigation_drawer_close">Zatvoriť navigačný panel</string>
+ <string name="next">Nasledujúci</string>
+ <string name="none">Žiadny</string>
+ <string name="port">Port</string>
+ <string name="previous">Predchádzajúci</string>
+ <string name="process">Spracovať</string>
+ <string name="service_list">Správca Služby</string>
+ <string name="stage_view">Pódiové zobrazenie</string>
+ <string name="text_size">Vybrať veľkosť zobrazeného textu</string>
+ <string name="text_size_summary">Zmeniť veľkosť textu služby</string>
+ <string name="title_activity_settings">Nastavenia</string>
+ <string name="url_hint">Názov počítača alebo IP</string>
+ <string name="unable">Nie je možné vykonať požiadavku - skontrolujte nastavenie siete</string>
+</resources>
=== added directory 'app/src/main/res/values-sl'
=== added file 'app/src/main/res/values-sl/strings.xml'
--- app/src/main/res/values-sl/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-sl/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,13 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_6">Licenca</string>
+ <string name="action_settings">Nastavitve</string>
+ <string name="action_alert">Opozorilo</string>
+ <string name="action_refresh">Osveži</string>
+ <string name="action_search">Išči</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Prekliči</string>
+ <string name="port">Port</string>
+ <string name="title_activity_settings">Nastavitve</string>
+ <string name="url_hint">Hostname ali IP</string>
+</resources>
=== added directory 'app/src/main/res/values-sq'
=== added file 'app/src/main/res/values-sq/strings.xml'
--- app/src/main/res/values-sq/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-sq/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources/>
=== added directory 'app/src/main/res/values-sv'
=== added file 'app/src/main/res/values-sv/strings.xml'
--- app/src/main/res/values-sv/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-sv/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP är fri mjukvara för kyrkpresentation</string>
+ <string name="about_display_2">För mer information, besök OpenLP:s webbplats</string>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Del-copyright</string>
+ <string name="about_display_6">Licens</string>
+ <string name="about_display_7">Det här programmet är fri mjukvara; du får sprida den vidare och/eller ändra i den under villkoren i GNU General Public License så som publicerade av Free Software Foundation; version 2 av licensen.</string>
+ <string name="about_display_8">Det här programmet ges ut i hopp om att det kan vara användbart, men UTAN NÅGON GARANTI; inte ens någon underförstådd garanti vid köp eller lämplighet för ett särskilt ändamål.</string>
+ <string name="action_settings">Inställningar</string>
+ <string name="action_about">Om</string>
+ <string name="action_alert">Meddelande</string>
+ <string name="action_back">Tillbaka</string>
+ <string name="action_blank">Växla visning</string>
+ <string name="action_preferences">Alternativ</string>
+ <string name="action_refresh">Uppdatera</string>
+ <string name="action_search">Sök</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Avbryt</string>
+ <string name="connection_configuration">Konfigurera nätverk</string>
+ <string name="connection_password">Lösenord</string>
+ <string name="connection_profile">Serverinställningar</string>
+ <string name="connection_profile_ssl_use">Använd HTTPS</string>
+ <string name="connection_profile_ssl_summary">Ange om HTTPS ska användas</string>
+ <string name="connection_timeout">Anslutningstimeout</string>
+ <string name="connection_timeout_summary">Välj ett värde (millisekunder)</string>
+ <string name="connection_userid">Användarnamn</string>
+ <string name="custom_timeout">Ställ in egen timeout</string>
+ <string name="display_blank_summary">Välj bildläge</string>
+ <string name="display_desktop">Visa skrivbordsbakgrund</string>
+ <string name="display_list_autoscroll">Tillåt den valda posten att automatiskt scrolla till mitten på listan</string>
+ <string name="display_reset">Visa live-bild</string>
+ <string name="display_settings">Bildinställningar</string>
+ <string name="display_screen">Visa endast svart skärm</string>
+ <string name="display_theme">Visa endast tema</string>
+ <string name="enable_custom_timeouts">Aktivera egna timeouter</string>
+ <string name="enter_alert_text">Ange meddelandetext</string>
+ <string name="enable_autoscroll">Tillåt skärmar att centrera automatiskt</string>
+ <string name="home">Hem</string>
+ <string name="httpreturn_unauthorised">Anslutning nekad, kontrollera användarnamn och lösenord</string>
+ <string name="live_list">Live-lista</string>
+ <string name="live_view">Live-bild</string>
+ <string name="navigation_drawer_open">Öppna navigeringsmeny</string>
+ <string name="navigation_drawer_close">Stäng navigeringsmeny</string>
+ <string name="next">Nästa</string>
+ <string name="none">Inga</string>
+ <string name="port">Port</string>
+ <string name="previous">Föregående</string>
+ <string name="process">Visa</string>
+ <string name="service_list">Körschema</string>
+ <string name="stage_view">Scenbild</string>
+ <string name="text_size">Välj bildens textstorlek</string>
+ <string name="text_size_summary">Ändra körschemats textstorlek</string>
+ <string name="title_activity_settings">Inställningar</string>
+ <string name="url_hint">Värdnamn eller IP-adress</string>
+ <string name="unable">Kunde inte hantera förfrågan - kontrollera nätverksinställningarna</string>
+</resources>
=== added directory 'app/src/main/res/values-sw600dp'
=== added file 'app/src/main/res/values-sw600dp/refs.xml'
--- app/src/main/res/values-sw600dp/refs.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-sw600dp/refs.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,12 @@
+<resources>
+
+ <!--
+ Layout alias to replace the single-pane version of the layout with a
+ two-pane version on Large screens.
+
+ For more on layout aliases, see:
+ http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
+ -->
+ <item name="fragment_item" type="layout">@layout/fragment_item_grid</item>
+
+</resources>
\ No newline at end of file
=== added directory 'app/src/main/res/values-tlh'
=== added file 'app/src/main/res/values-tlh/strings.xml'
--- app/src/main/res/values-tlh/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-tlh/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources/>
=== added directory 'app/src/main/res/values-tr'
=== added file 'app/src/main/res/values-tr/strings.xml'
--- app/src/main/res/values-tr/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-tr/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,5 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="action_alert">Uyarı</string>
+ <string name="app_name">OpenLP</string>
+</resources>
=== added directory 'app/src/main/res/values-uk'
=== added file 'app/src/main/res/values-uk/strings.xml'
--- app/src/main/res/values-uk/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-uk/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,51 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP це безкоштовна програма для презентацій в церкві</string>
+ <string name="about_display_2">Щоб дізнатися більше, відвідайте веб-сайт OpenLP</string>
+ <string name="about_display_4">Авторське право:</string>
+ <string name="about_display_5">Часткове авторське право</string>
+ <string name="about_display_6">Ліцензія</string>
+ <string name="about_display_7">Ця програма є вільним програмним забезпеченням; ви можете розповсюджувати та/або змінювати його відповідно до умов GNU General Public License, виданої Фондом вільного програмного забезпечення, версія 2 Ліцензії</string>
+ <string name="about_display_8">Ця програма поширюється в надії, що вона буде корисною, але БЕЗ БУДЬ-ЯКИХ ГАРАНТІЙ; навіть без гарантій КОМЕРЦІЙНОЇ ЦІННОСТІ чи ПРИДАТНОСТІ ДЛЯ КОНКРЕТНИХ ЦІЛЕЙ</string>
+ <string name="action_settings">Налаштування</string>
+ <string name="action_about">Про</string>
+ <string name="action_alert">Сповіщення</string>
+ <string name="action_back">Назад</string>
+ <string name="action_blank">Переключити Дисплей</string>
+ <string name="action_preferences">Уподобання</string>
+ <string name="action_refresh">Оновити</string>
+ <string name="action_search">Пошук</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Скасувати</string>
+ <string name="connection_configuration">Налаштування Мережі</string>
+ <string name="connection_password">Пароль</string>
+ <string name="connection_profile">Деталі Сервера</string>
+ <string name="connection_profile_ssl_use">Використовувати HTTPS</string>
+ <string name="connection_profile_ssl_summary">Вкажіть, чи варто використовувати протокол HTTPS</string>
+ <string name="connection_timeout">Час очікування з\'єднання</string>
+ <string name="connection_timeout_summary">Виберіть значення (в мілісекундах)</string>
+ <string name="connection_userid">Ім\'я користувача:</string>
+ <string name="custom_timeout">Втановити інший Час Очікування</string>
+ <string name="display_blank_summary">Виберіть потрібний дисплей</string>
+ <string name="display_desktop">Обрати фон для робочого столу дисплея</string>
+ <string name="display_reset">Показати основний дисплей</string>
+ <string name="display_screen">Тільки Чорний дисплей</string>
+ <string name="display_theme">Тільки Тема дисплею</string>
+ <string name="enable_custom_timeouts">Обрати інший Час Очікування</string>
+ <string name="enter_alert_text">Введіть Текст Сповіщення</string>
+ <string name="home">Дім</string>
+ <string name="httpreturn_unauthorised">Несанкціонований доступ будь ласка, введіть правильне ім\'я користувача та пароль</string>
+ <string name="live_list">Список Перегляду</string>
+ <string name="navigation_drawer_open">Відкрити вікно навігації</string>
+ <string name="navigation_drawer_close">Закрити вікно навігації</string>
+ <string name="none">Ні</string>
+ <string name="port">Порт</string>
+ <string name="process">Процес</string>
+ <string name="service_list">Список Служб</string>
+ <string name="stage_view">Поставити Прегляд</string>
+ <string name="text_size">Виберіть розмір тексту для дисплею</string>
+ <string name="text_size_summary">Змінити розмір шрифту для служби</string>
+ <string name="title_activity_settings">Налаштування</string>
+ <string name="url_hint">Ім\'я хосту або IP</string>
+ <string name="unable">Не вдається обробити запит - перевірте налаштування мережі</string>
+</resources>
=== added directory 'app/src/main/res/values-vi'
=== added file 'app/src/main/res/values-vi/strings.xml'
--- app/src/main/res/values-vi/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-vi/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,2 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources/>
=== added directory 'app/src/main/res/values-w820dp'
=== added file 'app/src/main/res/values-w820dp/dimens.xml'
--- app/src/main/res/values-w820dp/dimens.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-w820dp/dimens.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,6 @@
+<resources>
+ <!-- Example customization of dimensions originally defined in res/values/dimens.xml
+ (such as screen margins) for screens with more than 820dp of available width. This
+ would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
+ <dimen name="activity_horizontal_margin">64dp</dimen>
+</resources>
=== added directory 'app/src/main/res/values-zh-rTW'
=== added file 'app/src/main/res/values-zh-rTW/strings.xml'
--- app/src/main/res/values-zh-rTW/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values-zh-rTW/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<resources>
+ <string name="about_display_1">OpenLP是免費的教會簡報軟體</string>
+ <string name="about_display_2">要了解詳情,請參閱 OpenLP 網站</string>
+ <string name="about_display_4">版權</string>
+ <string name="about_display_5">程序版權</string>
+ <string name="about_display_6">許可協議</string>
+ <string name="about_display_7">這個程序是自由軟體,你可以遵照自由軟體基金會出版的 GNU通用公共許可證條款第2版來修改和重新發佈這個軟體</string>
+ <string name="about_display_8">這個程式是在期望它是可行的情況下發布, 但是沒有任何擔保,甚至沒有暗示的適用性或針對於特定用途的保障。</string>
+ <string name="action_settings">設定</string>
+ <string name="action_about">關於</string>
+ <string name="action_alert">警告</string>
+ <string name="action_back">退後</string>
+ <string name="action_blank">切換顯示</string>
+ <string name="action_preferences">偏好設定</string>
+ <string name="action_refresh">重新整理</string>
+ <string name="action_search">搜尋</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">取消</string>
+ <string name="connection_configuration">設定網路</string>
+ <string name="connection_password">密碼</string>
+ <string name="connection_profile">聚會細節</string>
+ <string name="connection_profile_ssl_use">使用 HTTPS</string>
+ <string name="connection_profile_ssl_summary">指定是否應使用HTTPS</string>
+ <string name="connection_timeout">連接逾時</string>
+ <string name="connection_timeout_summary">選擇數值(毫秒)</string>
+ <string name="connection_userid">帳號</string>
+ <string name="custom_timeout">自訂逾時</string>
+ <string name="display_blank_summary">選擇需要的顯示畫面</string>
+ <string name="display_desktop">顯示桌面背景</string>
+ <string name="display_list_autoscroll">允許所選擇的項目捲動到清單的中間</string>
+ <string name="display_reset">顯示現場Live</string>
+ <string name="display_settings">顯示設定</string>
+ <string name="display_screen">僅顯示黑幕</string>
+ <string name="display_theme">僅顯示主題</string>
+ <string name="enable_custom_timeouts">開啟自訂逾時</string>
+ <string name="enter_alert_text">輸入警報文字</string>
+ <string name="enable_autoscroll">允許自動置中顯示</string>
+ <string name="home">首頁</string>
+ <string name="httpreturn_unauthorised">未經授權的連結,請輸入有效的帳號和密碼</string>
+ <string name="live_list">現場Live清單</string>
+ <string name="live_view">Live 顯示</string>
+ <string name="navigation_drawer_open">打開隱藏式側選單</string>
+ <string name="navigation_drawer_close">關閉隱藏式側選單</string>
+ <string name="next">下一個</string>
+ <string name="none">無</string>
+ <string name="port">連接埠</string>
+ <string name="previous">前一個</string>
+ <string name="process">程序</string>
+ <string name="service_list">聚會清單</string>
+ <string name="stage_view">舞台查看</string>
+ <string name="text_size">選擇顯示字體尺存</string>
+ <string name="text_size_summary">更改聚會文字大小</string>
+ <string name="title_activity_settings">設定</string>
+ <string name="url_hint">主機名或IP</string>
+ <string name="unable">無法處理請求 - 請檢查網路設定</string>
+</resources>
=== added file 'app/src/main/res/values/backgroundTimeouts.xml'
--- app/src/main/res/values/backgroundTimeouts.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/backgroundTimeouts.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,22 @@
+<resources>
+ <string-array name="backgroundTimeEntries">
+ <item>@string/none</item>
+ <item>1</item>
+ <item>2</item>
+ <item>5</item>
+ <item>10</item>
+ <item>15</item>
+ <item>20</item>
+ <item>30</item>
+ </string-array>
+ <string-array name="backgroundTimeValues">
+ <item>0</item>
+ <item>1000</item>
+ <item>2000</item>
+ <item>5000</item>
+ <item>10000</item>
+ <item>15000</item>
+ <item>20000</item>
+ <item>30000</item>
+ </string-array>
+</resources>
=== added file 'app/src/main/res/values/defaultValues.xml'
--- app/src/main/res/values/defaultValues.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/defaultValues.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,12 @@
+<resources>
+ <!-- STRING -->
+ <string name="host_default_value">192.168.0.1</string>
+ <string name="port_default_value">4316</string>
+ <string name="userid_default_value">userid</string>
+ <string name="password_default_value">password</string>
+
+ <!-- INTEGER -->
+ <integer name="connectionTimeoutDefaultValue">3000</integer>
+ <integer name="textSizeDefaultValue">14</integer>
+
+</resources>
=== added file 'app/src/main/res/values/dimens.xml'
--- app/src/main/res/values/dimens.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/dimens.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,9 @@
+<resources>
+ <!-- Default screen margins, per the Android Design guidelines. -->
+ <dimen name="activity_horizontal_margin">16dp</dimen>
+ <dimen name="activity_vertical_margin">16dp</dimen>
+
+ <!-- Per the design guidelines, navigation drawers should be between 240dp and 320dp:
+ https://developer.android.com/design/patterns/navigation-drawer.html -->
+ <dimen name="navigation_drawer_width">240dp</dimen>
+</resources>
=== added file 'app/src/main/res/values/httpClientTimeoutValues.xml'
--- app/src/main/res/values/httpClientTimeoutValues.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/httpClientTimeoutValues.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,16 @@
+<resources>
+ <string-array name="socketValueEntries">
+ <item>3000</item>
+ <item>4000</item>
+ <item>5000</item>
+ <item>8000</item>
+ <item>10000</item>
+ </string-array>
+ <string-array name="socketValues">
+ <item>3000</item>
+ <item>4000</item>
+ <item>5000</item>
+ <item>8000</item>
+ <item>10000</item>
+ </string-array>
+</resources>
\ No newline at end of file
=== added file 'app/src/main/res/values/keyStrings.xml'
--- app/src/main/res/values/keyStrings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/keyStrings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,13 @@
+<resources>
+ <string name="key_auto_scroll">key_auto_scroll</string>
+ <string name="key_enable_custom_timeout">key_enable_custom_timeout</string>
+ <string name="key_connection_timeout">key_connection_timeout</string>
+ <string name="key_text_size">key_text_size</string>
+ <string name="key_host">key_host</string>
+ <string name="key_port">key_port</string>
+ <string name="key_userid">key_userid</string>
+ <string name="key_password">key_password</string>
+ <string name="key_shared_preferences">key_shared_preferences</string>
+ <string name="key_ssl_use">key_ssl_use</string>
+
+</resources>
=== added file 'app/src/main/res/values/refs.xml'
--- app/src/main/res/values/refs.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/refs.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+ <!--
+ Layout alias to replace the single-pane version of the layout with a
+ two-pane version on Large screens.
+
+ For more on layout aliases, see:
+ http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
+ -->
+ <item name="fragment_servicelist" type="layout">@layout/fragment_servicelist_list</item>
+ <item name="fragment_livelist" type="layout">@layout/fragment_livelist_list</item>
+
+ <!--
+ Layout alias to replace the single-pane version of the layout with a
+ two-pane version on Large screens.
+
+ For more on layout aliases, see:
+ http://developer.android.com/training/multiscreen/screensizes.html#TaskUseAliasFilters
+ -->
+ <item name="fragment_item" type="layout">@layout/fragment_item_list</item>
+
+</resources>
\ No newline at end of file
=== added file 'app/src/main/res/values/strings.xml'
--- app/src/main/res/values/strings.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/strings.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <string name="about_display_1">OpenLP is free church presentation software</string>
+ <string name="about_display_2">To find out more visit the OpenLP website</string>
+ <string name="about_display_4">Copyright</string>
+ <string name="about_display_5">Portions copyright</string>
+ <string name="about_display_6">License</string>
+ <string name="about_display_7">This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License</string>
+ <string name="about_display_8">This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE</string>
+ <string name="action_settings">Settings</string>
+ <string name="action_about">About</string>
+ <string name="action_alert">Alert</string>
+ <string name="action_back">Back</string>
+ <string name="action_blank">Toggle Display</string>
+ <string name="action_preferences">Preferences</string>
+ <string name="action_refresh">Refresh</string>
+ <string name="action_search">Search</string>
+ <string name="app_name">OpenLP</string>
+ <string name="cancel">Cancel</string>
+ <string name="connection_configuration">Configure Network</string>
+ <string name="connection_password">Password</string>
+ <string name="connection_profile">Server Details</string>
+ <string name="connection_profile_ssl_use">Use HTTPS</string>
+ <string name="connection_profile_ssl_summary">Specify whether HTTPS should be used</string>
+ <string name="connection_timeout">Connection Timeout</string>
+ <string name="connection_timeout_summary">Select a value (milliseconds)</string>
+ <string name="connection_userid">Username</string>
+ <string name="custom_timeout">Set Custom Timeout</string>
+ <string name="display_blank_summary">Select the required display</string>
+ <string name="display_desktop">Display Desktop background</string>
+ <string name="display_list_autoscroll">Allow the selected item to scroll to the centre of the list</string>
+ <string name="display_reset">Show Live display</string>
+ <string name="display_settings">Display Setting</string>
+ <string name="display_screen">Display Black only</string>
+ <string name="display_theme">Display Theme only</string>
+ <string name="enable_custom_timeouts">Enable Custom Timeouts</string>
+ <string name="enter_alert_text">Enter Alert Text</string>
+ <string name="enable_autoscroll">Allow displays to auto center</string>
+ <string name="home">Home</string>
+ <string name="httpreturn_unauthorised">Unauthorised Access, please enter valid username and password</string>
+ <string name="live_list">Live List</string>
+ <string name="live_view">Live View</string>
+ <string name="navigation_drawer_open">Open navigation drawer</string>
+ <string name="navigation_drawer_close">Close navigation drawer</string>
+ <string name="next">Next</string>
+ <string name="none">None</string>
+ <string name="port">Port</string>
+ <string name="previous">Previous</string>
+ <string name="process">Process</string>
+ <string name="service_list">Service List</string>
+ <string name="stage_view">Stage View</string>
+ <string name="text_size">Select display text size</string>
+ <string name="text_size_summary">Change the Service text size</string>
+ <string name="title_activity_settings">Settings</string>
+ <string name="url_hint">Hostname or IP</string>
+ <string name="unable">Unable to process request - check network settings</string>
+</resources>
=== added file 'app/src/main/res/values/styles.xml'
--- app/src/main/res/values/styles.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/styles.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,8 @@
+<resources>
+
+ <!-- Base application theme. -->
+ <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
+ <!-- Customize your theme here. -->
+ </style>
+
+</resources>
=== added file 'app/src/main/res/values/textSize.xml'
--- app/src/main/res/values/textSize.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/values/textSize.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,22 @@
+<resources>
+ <string-array name="textSizeValueEntries">
+ <item>6</item>
+ <item>8</item>
+ <item>10</item>
+ <item>12</item>
+ <item>14</item>
+ <item>16</item>
+ <item>18</item>
+ <item>20</item>
+ </string-array>
+ <string-array name="textSizeValues">
+ <item>6</item>
+ <item>8</item>
+ <item>10</item>
+ <item>12</item>
+ <item>14</item>
+ <item>16</item>
+ <item>18</item>
+ <item>20</item>
+ </string-array>
+</resources>
\ No newline at end of file
=== added directory 'app/src/main/res/xml'
=== added file 'app/src/main/res/xml/pref_general.xml'
--- app/src/main/res/xml/pref_general.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/xml/pref_general.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,17 @@
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <ListPreference
+ android:key="key_text_size"
+ android:defaultValue="@integer/textSizeDefaultValue"
+ android:entries="@array/textSizeValueEntries"
+ android:entryValues="@array/textSizeValues"
+ android:summary="@string/text_size_summary"
+ android:title="@string/text_size" />
+
+ <CheckBoxPreference
+ android:key="key_auto_scroll"
+ android:defaultValue="false"
+ android:summary="@string/display_list_autoscroll"
+ android:title="@string/enable_autoscroll"/>
+
+</PreferenceScreen>
=== added file 'app/src/main/res/xml/pref_headers.xml'
--- app/src/main/res/xml/pref_headers.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/xml/pref_headers.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,14 @@
+<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <!-- These settings headers are only used on tablets. -->
+
+ <header
+ android:fragment="org.openlp.android2.activities.SettingsActivity$GeneralPreferenceFragment"
+ android:title="@string/display_settings" />
+
+ <header
+ android:fragment="org.openlp.android2.activities.SettingsActivity$NotificationPreferenceFragment"
+ android:title="@string/connection_configuration" />
+
+
+</preference-headers>
=== added file 'app/src/main/res/xml/pref_notification.xml'
--- app/src/main/res/xml/pref_notification.xml 1970-01-01 00:00:00 +0000
+++ app/src/main/res/xml/pref_notification.xml 2016-01-10 17:42:04 +0000
@@ -0,0 +1,59 @@
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <PreferenceCategory
+ android:key="pref_key_custom_timeout_setting"
+ android:title="@string/custom_timeout">
+ <CheckBoxPreference
+ android:key="@string/key_enable_custom_timeout"
+ android:title="@string/enable_custom_timeouts" />
+ <ListPreference
+ android:key="@string/key_connection_timeout"
+ android:defaultValue="@integer/connectionTimeoutDefaultValue"
+ android:dependency="@string/key_enable_custom_timeout"
+ android:entries="@array/socketValueEntries"
+ android:entryValues="@array/socketValues"
+ android:summary="@string/connection_timeout_summary"
+ android:title="@string/connection_timeout" />
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:title="@string/connection_profile">
+
+ <EditTextPreference
+ android:key="@string/key_host"
+ android:title="@string/url_hint"
+ android:summary="@string/url_hint"
+ android:defaultValue="@string/host_default_value"
+ android:inputType="textUri" />
+
+ <EditTextPreference
+ android:key="@string/key_port"
+ android:title="@string/port"
+ android:summary="@string/port"
+ android:defaultValue="@string/port_default_value"
+ android:inputType="number" />
+
+ <CheckBoxPreference
+ android:key="@string/key_ssl_use"
+ android:title="@string/connection_profile_ssl_use"
+ android:summary="@string/connection_profile_ssl_summary"
+ android:defaultValue="false" />
+
+ <EditTextPreference
+ android:key="@string/key_userid"
+ android:title="@string/connection_userid"
+ android:summary="@string/userid_default_value"
+ android:defaultValue="@string/userid_default_value"
+ android:inputType="textNoSuggestions" />
+
+ <EditTextPreference
+ android:key="@string/key_password"
+ android:title="@string/connection_password"
+ android:summary="@string/password_default_value"
+ android:defaultValue="@string/password_default_value"
+ android:inputType="textVisiblePassword" />
+
+
+ </PreferenceCategory>
+
+</PreferenceScreen>
=== added file 'build.gradle'
--- build.gradle 1970-01-01 00:00:00 +0000
+++ build.gradle 2016-01-10 17:42:04 +0000
@@ -0,0 +1,19 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+
+buildscript {
+ repositories {
+ jcenter()
+ }
+ dependencies {
+ classpath 'com.android.tools.build:gradle:1.2.3'
+
+ // NOTE: Do not place your application dependencies here; they belong
+ // in the individual module build.gradle files
+ }
+}
+
+allprojects {
+ repositories {
+ jcenter()
+ }
+}
=== added directory 'gradle'
=== added file 'gradle.properties'
--- gradle.properties 1970-01-01 00:00:00 +0000
+++ gradle.properties 2016-01-10 17:42:04 +0000
@@ -0,0 +1,18 @@
+# Project-wide Gradle settings.
+
+# IDE (e.g. Android Studio) users:
+# Gradle settings configured through the IDE *will override*
+# any settings specified in this file.
+
+# For more details on how to configure your build environment visit
+# http://www.gradle.org/docs/current/userguide/build_environment.html
+
+# Specifies the JVM arguments used for the daemon process.
+# The setting is particularly useful for tweaking memory settings.
+# Default value: -Xmx10248m -XX:MaxPermSize=256m
+# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
+
+# When configured, Gradle will run in incubating parallel mode.
+# This option should only be used with decoupled projects. More details, visit
+# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
+# org.gradle.parallel=true
\ No newline at end of file
=== added directory 'gradle/wrapper'
=== added file 'gradle/wrapper/gradle-wrapper.jar'
Binary files gradle/wrapper/gradle-wrapper.jar 1970-01-01 00:00:00 +0000 and gradle/wrapper/gradle-wrapper.jar 2016-01-10 17:42:04 +0000 differ
=== added file 'gradle/wrapper/gradle-wrapper.properties'
--- gradle/wrapper/gradle-wrapper.properties 1970-01-01 00:00:00 +0000
+++ gradle/wrapper/gradle-wrapper.properties 2016-01-10 17:42:04 +0000
@@ -0,0 +1,6 @@
+#Wed Apr 10 15:27:10 PDT 2013
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
=== added file 'gradlew'
--- gradlew 1970-01-01 00:00:00 +0000
+++ gradlew 2016-01-10 17:42:04 +0000
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched.
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/" >&-
+APP_HOME="`pwd -P`"
+cd "$SAVED" >&-
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
=== added file 'gradlew.bat'
--- gradlew.bat 1970-01-01 00:00:00 +0000
+++ gradlew.bat 2016-01-10 17:42:04 +0000
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
=== added file 'settings.gradle'
--- settings.gradle 1970-01-01 00:00:00 +0000
+++ settings.gradle 2016-01-10 17:42:04 +0000
@@ -0,0 +1,1 @@
+include ':app'