summaryrefslogtreecommitdiff
path: root/android
diff options
context:
space:
mode:
authorArtur Dryomov <artur.dryomov@gmail.com>2013-09-15 00:06:54 +0300
committerArtur Dryomov <artur.dryomov@gmail.com>2013-09-15 02:34:29 +0300
commit57e171b3933b8afca1ae4cdd63b87486f18161ba (patch)
treedfa02daa1e24c9f84d7f079d451466f2e74593e6 /android
parenta703824aaf4d1446bf65881702ed8e343e2b8399 (diff)
Change the computers fragment to be more simple.
Change-Id: I8acddd744e11aa3c29ba281b321a4e02347a1823
Diffstat (limited to 'android')
-rw-r--r--android/sdremote/res/layout/fragment_computers_list.xml2
-rw-r--r--android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java160
2 files changed, 71 insertions, 91 deletions
diff --git a/android/sdremote/res/layout/fragment_computers_list.xml b/android/sdremote/res/layout/fragment_computers_list.xml
index c780bab0463b..46cb106058f5 100644
--- a/android/sdremote/res/layout/fragment_computers_list.xml
+++ b/android/sdremote/res/layout/fragment_computers_list.xml
@@ -8,7 +8,7 @@
<LinearLayout
android:animateLayoutChanges="true"
- android:id="@+id/container_progress"
+ android:id="@+id/layout_progress"
android:orientation="vertical"
android:gravity="center"
android:paddingLeft="@dimen/padding_horizontal_progress_layout"
diff --git a/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java b/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java
index 7cd6033f30bd..81e6ed91a281 100644
--- a/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java
+++ b/android/sdremote/src/org/libreoffice/impressremote/fragment/ComputersFragment.java
@@ -52,8 +52,6 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
WIFI, BLUETOOTH
}
- private Type mType;
-
private CommunicationService mCommunicationService;
private BroadcastReceiver mIntentsReceiver;
@@ -77,8 +75,6 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
public void onCreate(Bundle aSavedInstanceState) {
super.onCreate(aSavedInstanceState);
- mType = (Type) getArguments().getSerializable(Fragments.Arguments.TYPE);
-
setUpActionBar();
}
@@ -95,13 +91,17 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
public void onViewStateRestored(Bundle aSavedInstanceState) {
super.onViewStateRestored(aSavedInstanceState);
- if (aSavedInstanceState == null) {
+ if (!isSavedInstanceValid(aSavedInstanceState)) {
return;
}
loadProgressMessage(aSavedInstanceState);
}
+ private boolean isSavedInstanceValid(Bundle aSavedInstanceState) {
+ return aSavedInstanceState != null;
+ }
+
private void loadProgressMessage(Bundle aSavedInstanceState) {
boolean aProgressMessageDisplayed = aSavedInstanceState.getBoolean(SavedStates.Keys.PROGRESS_MESSAGE);
@@ -110,6 +110,37 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
}
}
+ private void showProgressMessage() {
+ TextView aProgressMessageView = getProgressMessageView();
+ Animation aFadeInAnimation = AnimationUtils.loadAnimation(getActivity(), android.R.anim.fade_in);
+
+ aProgressMessageView.setText(getProgressMessage());
+
+ aProgressMessageView.startAnimation(aFadeInAnimation);
+ aProgressMessageView.setVisibility(View.VISIBLE);
+ }
+
+ private TextView getProgressMessageView() {
+ return (TextView) getView().findViewById(R.id.text_progress_message);
+ }
+
+ private String getProgressMessage() {
+ switch (getType()) {
+ case WIFI:
+ return getString(R.string.message_search_wifi);
+
+ case BLUETOOTH:
+ return getString(R.string.message_search_bluetooth);
+
+ default:
+ return "";
+ }
+ }
+
+ private Type getType() {
+ return (Type) getArguments().getSerializable(Fragments.Arguments.TYPE);
+ }
+
@Override
public void onActivityCreated(Bundle aSavedInstanceState) {
super.onActivityCreated(aSavedInstanceState);
@@ -132,22 +163,10 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
}
private void startComputersSearch() {
- if (!isServiceBound()) {
- return;
- }
-
mCommunicationService.startServersSearch();
}
- private boolean isServiceBound() {
- return mCommunicationService != null;
- }
-
private void loadComputers() {
- if (!isServiceBound()) {
- return;
- }
-
if (getComputers().isEmpty()) {
hideComputersList();
setUpProgressMessage();
@@ -173,7 +192,7 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
}
private boolean isComputerSupportsRequiredType(Server aComputer) {
- switch (mType) {
+ switch (getType()) {
case WIFI:
return aComputer.getProtocol() == Server.Protocol.TCP;
@@ -186,28 +205,18 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
}
private void hideComputersList() {
- showView(getProgressBarLayout());
+ setCurrentView(R.id.layout_progress);
}
- private void showView(View aView) {
- ViewAnimator aViewAnimator = getViewAnimator();
-
- int aViewIndex = aViewAnimator.indexOfChild(aView);
- int aCurrentViewIndex = aViewAnimator.getDisplayedChild();
+ private void setCurrentView(int aViewId) {
+ ViewAnimator aViewAnimator = (ViewAnimator) getView().findViewById(R.id.view_animator);
+ View aView = getView().findViewById(aViewId);
- if (aViewIndex == aCurrentViewIndex) {
+ if (aViewId == aViewAnimator.getCurrentView().getId()) {
return;
}
- aViewAnimator.setDisplayedChild(aViewIndex);
- }
-
- private ViewAnimator getViewAnimator() {
- return (ViewAnimator) getView().findViewById(R.id.view_animator);
- }
-
- private ViewGroup getProgressBarLayout() {
- return (ViewGroup) getView().findViewById(R.id.container_progress);
+ aViewAnimator.setDisplayedChild(aViewAnimator.indexOfChild(aView));
}
private void setUpProgressMessage() {
@@ -216,58 +225,21 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
@Override
public void run() {
- if (!isAdded()) {
+ if (!isShowingProgressMessageRequired()) {
return;
}
- if (isShowingProgressMessageRequired()) {
- showProgressMessage();
- }
+ showProgressMessage();
}
private boolean isShowingProgressMessageRequired() {
return getProgressMessageView().getVisibility() == View.INVISIBLE;
}
- private TextView getProgressMessageView() {
- return (TextView) getView().findViewById(R.id.text_progress_message);
- }
-
- private void showProgressMessage() {
- TextView aProgressMessageView = getProgressMessageView();
- Animation aFadeInAnimation = AnimationUtils.loadAnimation(getActivity(), android.R.anim.fade_in);
-
- aProgressMessageView.setText(getProgressMessage());
-
- aProgressMessageView.startAnimation(aFadeInAnimation);
- aProgressMessageView.setVisibility(View.VISIBLE);
- }
-
- private String getProgressMessage() {
- switch (mType) {
- case WIFI:
- return getString(R.string.message_search_wifi);
-
- case BLUETOOTH:
- return getString(R.string.message_search_bluetooth);
-
- default:
- return "";
- }
- }
-
private void tearDownComputersAdapter() {
setListAdapter(null);
}
- private void showComputersList() {
- showView(getComputersList());
- }
-
- private ListView getComputersList() {
- return (ListView) getView().findViewById(android.R.id.list);
- }
-
private void setUpComputersAdapter() {
if (isComputersAdapterExist()) {
return;
@@ -289,6 +261,15 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
getComputersAdapter().add(getComputers());
}
+ private void showComputersList() {
+ setCurrentView(android.R.id.list);
+ }
+
+ @Override
+ public void onServiceDisconnected(ComponentName aComponentName) {
+ mCommunicationService = null;
+ }
+
@Override
public void onStart() {
super.onStart();
@@ -296,6 +277,10 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
registerIntentsReceiver();
setUpContextMenu();
+ if (!isServiceBound()) {
+ return;
+ }
+
startComputersSearch();
loadComputers();
}
@@ -380,6 +365,10 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
LocalBroadcastManager.getInstance(getActivity()).sendBroadcast(aIntent);
}
+ private boolean isServiceBound() {
+ return mCommunicationService != null;
+ }
+
@Override
public boolean onOptionsItemSelected(MenuItem aMenuItem) {
switch (aMenuItem.getItemId()) {
@@ -425,6 +414,10 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
public void onListItemClick(ListView aListView, View aView, int aPosition, long aId) {
Server aComputer = getComputersAdapter().getItem(aPosition);
+ startConnectionActivity(aComputer);
+ }
+
+ private void startConnectionActivity(Server aComputer) {
Intent aIntent = Intents.buildComputerConnectionIntent(getActivity(), aComputer);
startActivity(aIntent);
}
@@ -438,6 +431,10 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
unregisterIntentsReceiver();
}
+ private void stopComputersSearch() {
+ mCommunicationService.stopServersSearch();
+ }
+
private void unregisterIntentsReceiver() {
try {
getBroadcastManager().unregisterReceiver(mIntentsReceiver);
@@ -447,14 +444,6 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
}
}
- private void stopComputersSearch() {
- if (!isServiceBound()) {
- return;
- }
-
- mCommunicationService.stopServersSearch();
- }
-
@Override
public void onSaveInstanceState(Bundle aOutState) {
super.onSaveInstanceState(aOutState);
@@ -476,17 +465,8 @@ public class ComputersFragment extends SherlockListFragment implements ServiceCo
}
private void unbindService() {
- if (!isServiceBound()) {
- return;
- }
-
getActivity().unbindService(this);
}
-
- @Override
- public void onServiceDisconnected(ComponentName aComponentName) {
- mCommunicationService = null;
- }
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */