diff options
| author | rsudev <rsudev@googlemail.com> | 2013-06-25 11:46:15 +0200 |
|---|---|---|
| committer | rsudev <rsudev@googlemail.com> | 2013-06-25 11:46:15 +0200 |
| commit | cf999b7a4ff1d6e52a2aa5ff1636c269d199f124 (patch) | |
| tree | e1e096205db83dff142fc785a6e6d500450c414c | |
| parent | 7e271de2385ac1d2193d59f58e3d5e972d306f93 (diff) | |
| download | cgeo-cf999b7a4ff1d6e52a2aa5ff1636c269d199f124.zip cgeo-cf999b7a4ff1d6e52a2aa5ff1636c269d199f124.tar.gz cgeo-cf999b7a4ff1d6e52a2aa5ff1636c269d199f124.tar.bz2 | |
Streamlined implementation of connector status info
| -rw-r--r-- | main/res/layout/main_activity.xml | 7 | ||||
| -rw-r--r-- | main/res/values/strings.xml | 1 | ||||
| -rw-r--r-- | main/src/cgeo/geocaching/MainActivity.java | 22 |
3 files changed, 14 insertions, 16 deletions
diff --git a/main/res/layout/main_activity.xml b/main/res/layout/main_activity.xml index 83a73c8..581dab4 100644 --- a/main/res/layout/main_activity.xml +++ b/main/res/layout/main_activity.xml @@ -141,7 +141,6 @@ <!-- ** --> <LinearLayout - android:id="@+id/info_area" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" @@ -150,6 +149,12 @@ android:onClick="cgeoNavSettings" android:orientation="vertical" > + <LinearLayout + android:id="@+id/info_area" + android:layout_width="fill_parent" + android:layout_height="wrap_content" + android:orientation="vertical" /> + <TextView android:id="@+id/nav_location" style="@style/location_current" diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index 19dbc60..319cbc7 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -378,6 +378,7 @@ <string name="init_login_popup_ok">Login OK</string> <string name="init_login_popup_failed">Login failed</string> <string name="init_login_popup_failed_reason">Login failed:</string> + <string name="init_login_popup_not_authorized">Not authorized</string> <string name="init_twitter_authorize">Authorize c:geo</string> <string name="init_twitter_publish">Publish status when a cache has been found</string> <string name="init_signature">Signature</string> diff --git a/main/src/cgeo/geocaching/MainActivity.java b/main/src/cgeo/geocaching/MainActivity.java index 1672dc1..5898cba 100644 --- a/main/src/cgeo/geocaching/MainActivity.java +++ b/main/src/cgeo/geocaching/MainActivity.java @@ -77,7 +77,6 @@ public class MainActivity extends AbstractActivity { private List<Address> addresses = null; private boolean addressObtaining = false; private boolean initialized = false; - private List<TextView> connectorInfos = new ArrayList<TextView>(); final private UpdateLocation locationUpdater = new UpdateLocation(); @@ -89,21 +88,15 @@ public class MainActivity extends AbstractActivity { // Get active connectors with login status ILogin[] loginConns = ConnectorFactory.getActiveLiveConnectors(); - // Adjust number of available connector info views + // Update UI + infoArea.removeAllViews(); LayoutInflater inflater = getLayoutInflater(); - while (loginConns.length > connectorInfos.size()) { - TextView connectorInfo = (TextView) inflater.inflate(R.layout.main_activity_connectorstatus, null); - connectorInfos.add(connectorInfo); - infoArea.addView(connectorInfo, connectorInfos.size() - 1); - } - while (loginConns.length < connectorInfos.size()) { - infoArea.removeViewAt(connectorInfos.size() - 1); - connectorInfos.remove(connectorInfos.size() - 1); - } - // Update UI - int index = 0; for (ILogin conn : loginConns) { + + TextView connectorInfo = (TextView) inflater.inflate(R.layout.main_activity_connectorstatus, null); + infoArea.addView(connectorInfo); + StringBuilder userInfo = new StringBuilder(conn.getName()).append(Formatter.SEPARATOR); if (conn.isLoggedIn()) { userInfo.append(conn.getUserName()); @@ -114,8 +107,7 @@ public class MainActivity extends AbstractActivity { } userInfo.append(conn.getLoginStatusString()); - connectorInfos.get(index).setText(userInfo.toString()); - index++; + connectorInfo.setText(userInfo); } } }; |
