summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtur Dryomov <artur.dryomov@gmail.com>2013-07-12 02:01:40 +0300
committerMichael Meeks <michael.meeks@suse.com>2013-07-25 18:01:53 +0100
commit1990f88aa6394d26d4fde08ff47055e9b1d9ce59 (patch)
tree98c4a5a7ae3700ae16120fea731e9366380361fe
parentc5cdd6b43fd4035f8add65b2fe989ace077cdebc (diff)
Add action bar button for reconnection.
Change-Id: I8729dcd2b179b7301ae85528a615195e907cf443
-rwxr-xr-xandroid/sdremote/res/drawable-hdpi/ic_action_reconnect.pngbin0 -> 3138 bytes
-rwxr-xr-xandroid/sdremote/res/drawable-mdpi/ic_action_reconnect.pngbin0 -> 3033 bytes
-rwxr-xr-xandroid/sdremote/res/drawable-xhdpi/ic_action_reconnect.pngbin0 -> 3219 bytes
-rw-r--r--android/sdremote/res/layout/fragment_computer_connection.xml2
-rw-r--r--android/sdremote/res/menu/menu_action_bar_computer_connection.xml10
-rw-r--r--android/sdremote/res/values/strings.xml1
-rw-r--r--android/sdremote/src/org/libreoffice/impressremote/ComputerConnectionFragment.java43
7 files changed, 55 insertions, 1 deletions
diff --git a/android/sdremote/res/drawable-hdpi/ic_action_reconnect.png b/android/sdremote/res/drawable-hdpi/ic_action_reconnect.png
new file mode 100755
index 000000000000..bb9d855f7769
--- /dev/null
+++ b/android/sdremote/res/drawable-hdpi/ic_action_reconnect.png
Binary files differ
diff --git a/android/sdremote/res/drawable-mdpi/ic_action_reconnect.png b/android/sdremote/res/drawable-mdpi/ic_action_reconnect.png
new file mode 100755
index 000000000000..bd611e8e24d2
--- /dev/null
+++ b/android/sdremote/res/drawable-mdpi/ic_action_reconnect.png
Binary files differ
diff --git a/android/sdremote/res/drawable-xhdpi/ic_action_reconnect.png b/android/sdremote/res/drawable-xhdpi/ic_action_reconnect.png
new file mode 100755
index 000000000000..a7fdc0dfcb1d
--- /dev/null
+++ b/android/sdremote/res/drawable-xhdpi/ic_action_reconnect.png
Binary files differ
diff --git a/android/sdremote/res/layout/fragment_computer_connection.xml b/android/sdremote/res/layout/fragment_computer_connection.xml
index 7b004569bfaa..6ad129044918 100644
--- a/android/sdremote/res/layout/fragment_computer_connection.xml
+++ b/android/sdremote/res/layout/fragment_computer_connection.xml
@@ -7,7 +7,7 @@
android:layout_height="match_parent">
<ProgressBar
- android:id="@android:id/progress"
+ android:id="@+id/progress_bar"
style="?android:progressBarStyleLarge"
android:layout_gravity="center"
android:layout_width="wrap_content"
diff --git a/android/sdremote/res/menu/menu_action_bar_computer_connection.xml b/android/sdremote/res/menu/menu_action_bar_computer_connection.xml
new file mode 100644
index 000000000000..ca8714d8a842
--- /dev/null
+++ b/android/sdremote/res/menu/menu_action_bar_computer_connection.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<menu xmlns:android="http://schemas.android.com/apk/res/android">
+
+ <item
+ android:id="@+id/menu_reconnect"
+ android:title="@string/menu_reconnect"
+ android:icon="@drawable/ic_action_reconnect"
+ android:showAsAction="always"/>
+
+</menu> \ No newline at end of file
diff --git a/android/sdremote/res/values/strings.xml b/android/sdremote/res/values/strings.xml
index ceffa3eeb620..ab3a73b184d5 100644
--- a/android/sdremote/res/values/strings.xml
+++ b/android/sdremote/res/values/strings.xml
@@ -72,6 +72,7 @@
<string name="title_connection">Connection</string>
<string name="menu_licenses">Open source licenses</string>
+ <string name="menu_reconnect">Reconnect</string>
<string name="message_impress_pin_validation">Go to “Slide Show → Impress Remote” in LibreOffice Impress and enter the code.</string>
<string name="message_connection_failed_title">Connection failed</string>
diff --git a/android/sdremote/src/org/libreoffice/impressremote/ComputerConnectionFragment.java b/android/sdremote/src/org/libreoffice/impressremote/ComputerConnectionFragment.java
index 186e20ec7c76..fd97bed6c9ba 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/ComputerConnectionFragment.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/ComputerConnectionFragment.java
@@ -13,10 +13,14 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
+import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.ViewAnimator;
import com.actionbarsherlock.app.SherlockFragment;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuInflater;
+import com.actionbarsherlock.view.MenuItem;
import org.libreoffice.impressremote.communication.CommunicationService;
import org.libreoffice.impressremote.communication.Server;
@@ -47,6 +51,12 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
super.onCreate(aSavedInstance);
mComputer = getArguments().getParcelable("COMPUTER");
+
+ setUpActionBarMenu();
+ }
+
+ private void setUpActionBarMenu() {
+ setHasOptionsMenu(true);
}
@Override
@@ -73,6 +83,14 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
mCommunicationService = aServiceBinder.getService();
+ connectToComputer();
+ }
+
+ private void connectToComputer() {
+ if (!isServiceBound()) {
+ return;
+ }
+
mCommunicationService.connectTo(mComputer);
}
@@ -189,6 +207,31 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
}
@Override
+ public void onCreateOptionsMenu(Menu aMenu, MenuInflater aMenuInflater) {
+ aMenuInflater.inflate(R.menu.menu_action_bar_computer_connection, aMenu);
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem aMenuItem) {
+ switch (aMenuItem.getItemId()) {
+ case R.id.menu_reconnect:
+ showProgressBar();
+ connectToComputer();
+ return true;
+
+ default:
+ return super.onOptionsItemSelected(aMenuItem);
+ }
+ }
+
+ private void showProgressBar() {
+ ViewAnimator aViewAnimator = (ViewAnimator) getView().findViewById(R.id.view_animator);
+ ProgressBar aProgressBar = (ProgressBar) getView().findViewById(R.id.progress_bar);
+
+ aViewAnimator.setDisplayedChild(aViewAnimator.indexOfChild(aProgressBar));
+ }
+
+ @Override
public void onPause() {
super.onPause();