From cf999b7a4ff1d6e52a2aa5ff1636c269d199f124 Mon Sep 17 00:00:00 2001 From: rsudev Date: Tue, 25 Jun 2013 11:46:15 +0200 Subject: Streamlined implementation of connector status info --- main/res/layout/main_activity.xml | 7 ++++++- main/res/values/strings.xml | 1 + main/src/cgeo/geocaching/MainActivity.java | 22 +++++++--------------- 3 files changed, 14 insertions(+), 16 deletions(-) (limited to 'main') 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 @@ + + Login OK Login failed Login failed: + Not authorized Authorize c:geo Publish status when a cache has been found Signature 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
addresses = null; private boolean addressObtaining = false; private boolean initialized = false; - private List connectorInfos = new ArrayList(); 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); } } }; -- cgit v1.1