aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsudev <rsudev@googlemail.com>2013-06-25 11:46:15 +0200
committerrsudev <rsudev@googlemail.com>2013-06-25 11:46:15 +0200
commitcf999b7a4ff1d6e52a2aa5ff1636c269d199f124 (patch)
treee1e096205db83dff142fc785a6e6d500450c414c
parent7e271de2385ac1d2193d59f58e3d5e972d306f93 (diff)
downloadcgeo-cf999b7a4ff1d6e52a2aa5ff1636c269d199f124.zip
cgeo-cf999b7a4ff1d6e52a2aa5ff1636c269d199f124.tar.gz
cgeo-cf999b7a4ff1d6e52a2aa5ff1636c269d199f124.tar.bz2
Streamlined implementation of connector status info
-rw-r--r--main/res/layout/main_activity.xml7
-rw-r--r--main/res/values/strings.xml1
-rw-r--r--main/src/cgeo/geocaching/MainActivity.java22
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);
}
}
};