diff options
author | Artur Dryomov <artur.dryomov@gmail.com> | 2013-09-14 23:42:46 +0300 |
---|---|---|
committer | Artur Dryomov <artur.dryomov@gmail.com> | 2013-09-15 02:34:28 +0300 |
commit | a703824aaf4d1446bf65881702ed8e343e2b8399 (patch) | |
tree | 90969673bd5dd9fc86ab57f34be02a5a624c4711 /android | |
parent | 6aea4aacae0027ad57398e3e3148af6ffe20fc29 (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.java | 94 | ||||
-rw-r--r-- | android/sdremote/src/org/libreoffice/impressremote/util/SavedStates.java | 2 |
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"; |