summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorArtur Dryomov <artur.dryomov@gmail.com>2013-09-14 23:42:46 +0300
committerArtur Dryomov <artur.dryomov@gmail.com>2013-09-15 02:34:28 +0300
commita703824aaf4d1446bf65881702ed8e343e2b8399 (patch)
tree90969673bd5dd9fc86ab57f34be02a5a624c4711 /android
parent6aea4aacae0027ad57398e3e3148af6ffe20fc29 (diff)
Change the connection fragment to be more simple.
Change-Id: Ib9dcc70b87631cfdace00d5b9ba18f2cbdf0de2c
Diffstat (limited to 'android')
-rw-r--r--android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java94
-rw-r--r--android/sdremote/src/org/libreoffice/impressremote/util/SavedStates.java2
2 files changed, 30 insertions, 66 deletions
diff --git a/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java b/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java
index b1ddc76c69be..72bf755c0d97 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputerConnectionFragment.java
@@ -20,8 +20,6 @@ import android.support.v4.content.LocalBroadcastManager;
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;
@@ -82,19 +80,30 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
public void onViewStateRestored(Bundle aSavedInstanceState) {
super.onViewStateRestored(aSavedInstanceState);
- if (aSavedInstanceState == null) {
+ if (!isSavedInstanceValid(aSavedInstanceState)) {
return;
}
- loadLayout(aSavedInstanceState);
+ loadCurrentView(aSavedInstanceState);
loadPin(aSavedInstanceState);
loadErrorMessage(aSavedInstanceState);
}
- private void loadLayout(Bundle aSavedInstanceState) {
- int aLayoutIndex = aSavedInstanceState.getInt(SavedStates.Keys.LAYOUT_INDEX);
+ private boolean isSavedInstanceValid(Bundle aSavedInstanceState) {
+ return aSavedInstanceState != null;
+ }
+
+ private void loadCurrentView(Bundle aSavedInstanceState) {
+ int aCurrentViewId = aSavedInstanceState.getInt(SavedStates.Keys.CURRENT_VIEW_ID);
+
+ setCurrentView(aCurrentViewId);
+ }
+
+ private void setCurrentView(int aViewId) {
+ ViewAnimator aViewAnimator = getViewAnimator();
+ View aView = getView().findViewById(aViewId);
- getViewAnimator().setDisplayedChild(aLayoutIndex);
+ aViewAnimator.setDisplayedChild(aViewAnimator.indexOfChild(aView));
}
private ViewAnimator getViewAnimator() {
@@ -142,10 +151,6 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
}
private void connectComputer() {
- if (!isServiceBound()) {
- return;
- }
-
if (!isComputerConnectionRequired()) {
return;
}
@@ -153,16 +158,8 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
mCommunicationService.connectServer(getComputer());
}
- private boolean isServiceBound() {
- return mCommunicationService != null;
- }
-
private boolean isComputerConnectionRequired() {
- return getViewAnimator().getDisplayedChild() == getViewAnimator().indexOfChild(getProgressBar());
- }
-
- private ProgressBar getProgressBar() {
- return (ProgressBar) getView().findViewById(R.id.progress_bar);
+ return getViewAnimator().getCurrentView().getId() == R.id.progress_bar;
}
private Server getComputer() {
@@ -238,18 +235,7 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
private void setUpPinValidationInstructions(String aPin) {
getPinTextView().setText(aPin);
- showPinValidationLayout();
- }
-
- private void showPinValidationLayout() {
- ViewAnimator aViewAnimator = getViewAnimator();
- LinearLayout aValidationLayout = getPinValidationLayout();
-
- aViewAnimator.setDisplayedChild(aViewAnimator.indexOfChild(aValidationLayout));
- }
-
- private LinearLayout getPinValidationLayout() {
- return (LinearLayout) getView().findViewById(R.id.layout_pin_validation);
+ setCurrentView(R.id.layout_pin_validation);
}
private void setUpPresentation() {
@@ -265,7 +251,7 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
TextView aSecondaryMessageTextView = getSecondaryErrorMessageTextView();
aSecondaryMessageTextView.setText(buildSecondaryErrorMessage());
- showErrorMessageLayout();
+ setCurrentView(R.id.layout_error_message);
}
private String buildSecondaryErrorMessage() {
@@ -281,17 +267,6 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
}
}
- private void showErrorMessageLayout() {
- ViewAnimator aViewAnimator = getViewAnimator();
- LinearLayout aMessageLayout = getErrorMessageLayout();
-
- aViewAnimator.setDisplayedChild(aViewAnimator.indexOfChild(aMessageLayout));
- }
-
- private LinearLayout getErrorMessageLayout() {
- return (LinearLayout) getView().findViewById(R.id.layout_error_message);
- }
-
private void refreshActionBarMenu() {
getSherlockActivity().supportInvalidateOptionsMenu();
}
@@ -311,14 +286,18 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
return false;
}
- return getViewAnimator().getCurrentView().getId() == R.id.layout_error_message;
+ return getCurrentViewId() == R.id.layout_error_message;
+ }
+
+ private int getCurrentViewId() {
+ return getViewAnimator().getCurrentView().getId();
}
@Override
public boolean onOptionsItemSelected(MenuItem aMenuItem) {
switch (aMenuItem.getItemId()) {
case R.id.menu_reconnect:
- showProgressBar();
+ setCurrentView(R.id.progress_bar);
connectComputer();
refreshActionBarMenu();
return true;
@@ -328,13 +307,6 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
}
}
- private void showProgressBar() {
- ViewAnimator aViewAnimator = getViewAnimator();
- ProgressBar aProgressBar = getProgressBar();
-
- aViewAnimator.setDisplayedChild(aViewAnimator.indexOfChild(aProgressBar));
- }
-
@Override
public void onStop() {
super.onStop();
@@ -355,15 +327,15 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
public void onSaveInstanceState(Bundle aOutState) {
super.onSaveInstanceState(aOutState);
- saveLayout(aOutState);
+ saveCurrentView(aOutState);
savePin(aOutState);
saveErrorMessage(aOutState);
}
- private void saveLayout(Bundle aOutState) {
- int aLayoutIndex = getViewAnimator().getDisplayedChild();
+ private void saveCurrentView(Bundle aOutState) {
+ int aCurrentViewId = getCurrentViewId();
- aOutState.putInt(SavedStates.Keys.LAYOUT_INDEX, aLayoutIndex);
+ aOutState.putInt(SavedStates.Keys.CURRENT_VIEW_ID, aCurrentViewId);
}
private void savePin(Bundle aOutState) {
@@ -388,10 +360,6 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
}
private void disconnectComputer() {
- if (!isServiceBound()) {
- return;
- }
-
if (!isDisconnectRequired()) {
return;
}
@@ -404,10 +372,6 @@ public class ComputerConnectionFragment extends SherlockFragment implements Serv
}
private void unbindService() {
- if (!isServiceBound()) {
- return;
- }
-
getActivity().unbindService(this);
}
}
diff --git a/android/sdremote/src/org/libreoffice/impressremote/util/SavedStates.java b/android/sdremote/src/org/libreoffice/impressremote/util/SavedStates.java
index e3e37b2d5250..682632c307ed 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/util/SavedStates.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/util/SavedStates.java
@@ -16,8 +16,8 @@ public final class SavedStates {
private Keys() {
}
+ public static final String CURRENT_VIEW_ID = "CURRENT_VIEW_ID";
public static final String ERROR_MESSAGE = "ERROR_MESSAGE";
- public static final String LAYOUT_INDEX = "LAYOUT_INDEX";
public static final String MODE = "MODE";
public static final String PIN = "PIN";
public static final String PROGRESS_MESSAGE = "PROGRESS_MESSAGE";