diff --git a/OsmAnd/res/layout-v14/osmo_groups_list_header.xml b/OsmAnd/res/layout-v14/osmo_groups_list_header.xml
index 54bc6dc821..57f1f73eab 100644
--- a/OsmAnd/res/layout-v14/osmo_groups_list_header.xml
+++ b/OsmAnd/res/layout-v14/osmo_groups_list_header.xml
@@ -2,10 +2,23 @@
+ android:layout_marginBottom="5dp"
+ android:layout_marginLeft="5dp"
+ android:layout_marginRight="5dp"
+ android:orientation="vertical" >
-
+
+
+
\ No newline at end of file
diff --git a/OsmAnd/res/layout/osmo_group_item.xml b/OsmAnd/res/layout/osmo_group_item.xml
index ef65d33592..0f8cf33dc2 100644
--- a/OsmAnd/res/layout/osmo_group_item.xml
+++ b/OsmAnd/res/layout/osmo_group_item.xml
@@ -19,7 +19,8 @@
-
diff --git a/OsmAnd/res/layout/osmo_groups_list_header.xml b/OsmAnd/res/layout/osmo_groups_list_header.xml
index 949978bea2..7247b4a0da 100644
--- a/OsmAnd/res/layout/osmo_groups_list_header.xml
+++ b/OsmAnd/res/layout/osmo_groups_list_header.xml
@@ -2,10 +2,23 @@
+ android:layout_marginBottom="5dp"
+ android:layout_marginLeft="5dp"
+ android:layout_marginRight="5dp"
+ android:orientation="vertical" >
-
+
+
+
\ No newline at end of file
diff --git a/OsmAnd/res/values-fr/strings.xml b/OsmAnd/res/values-fr/strings.xml
index 46256d9c68..49aa66a5e8 100644
--- a/OsmAnd/res/values-fr/strings.xml
+++ b/OsmAnd/res/values-fr/strings.xml
@@ -521,7 +521,7 @@
Avancez
Continuer
Téléchargement des régions
- Merci d\'avoir choisi OsmAnd. La plupart des fonctionnalités de l\'application nécessitent des données régionales, utilisables hors-ligne, que vous pouvez au préalable télécharger ('Paramètres' → 'Données hors-ligne') ou préparer vous-même. Ces données permettront de visualiser les cartes et de rechercher une adresse, un point d\'intérêt (PI) ou un transport en commun.
+ Merci d\'avoir choisi OsmAnd. La plupart des fonctionnalités de l\'application nécessitent des données régionales, utilisables hors-ligne, que vous pouvez au préalable télécharger (\'Paramètres\' → \'Données hors-ligne\') ou préparer vous-même. Ces données permettront de visualiser les cartes et de rechercher une adresse, un point d\'intérêt (PI) ou un transport en commun.
Recherche d\'un signal…
Rechercher près du dernier emplacement
Rechercher à proximité
diff --git a/OsmAnd/src/net/osmand/plus/osmo/OsMoGroupsActivity.java b/OsmAnd/src/net/osmand/plus/osmo/OsMoGroupsActivity.java
index eb318d55c0..11dacbe1b3 100644
--- a/OsmAnd/src/net/osmand/plus/osmo/OsMoGroupsActivity.java
+++ b/OsmAnd/src/net/osmand/plus/osmo/OsMoGroupsActivity.java
@@ -27,6 +27,7 @@ import net.osmand.plus.activities.OsmandBaseExpandableListAdapter;
import net.osmand.plus.activities.OsmandExpandableListActivity;
import net.osmand.plus.osmo.OsMoGroups.OsMoGroup;
import net.osmand.plus.osmo.OsMoGroups.OsMoUser;
+import net.osmand.plus.osmo.OsMoService.SessionInfo;
import net.osmand.plus.osmo.OsMoTracker.OsmoTrackerListener;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
@@ -52,6 +53,7 @@ import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.CheckBox;
import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.ExpandableListView;
import android.widget.ImageView;
@@ -123,6 +125,13 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
}
}
});
+ TextView mtd = (TextView) findViewById(R.id.motd);
+ SessionInfo si = osMoPlugin.getService().getCurrentSessionInfo();
+ boolean visible = si != null && si.motd != null && si.motd.length() > 0;
+ mtd.setVisibility(visible? View.VISIBLE:View.GONE);
+ if(visible) {
+ mtd.setText(si.motd);
+ }
}
private Path createDirectionPath() {
diff --git a/OsmAnd/src/net/osmand/plus/osmo/OsMoPlugin.java b/OsmAnd/src/net/osmand/plus/osmo/OsMoPlugin.java
index df39f12893..1438b648d2 100644
--- a/OsmAnd/src/net/osmand/plus/osmo/OsMoPlugin.java
+++ b/OsmAnd/src/net/osmand/plus/osmo/OsMoPlugin.java
@@ -207,7 +207,7 @@ public class OsMoPlugin extends OsmandPlugin implements MonitoringInfoControlSer
@Override
public void registerOptionsMenuItems(final MapActivity mapActivity, ContextMenuAdapter helper) {
- helper.item(R.string.osmo_groups).icons(R.drawable.ic_action_eye_dark, R.drawable.ic_action_eye_light).position(4)
+ helper.item(R.string.osmo_groups).icons(R.drawable.ic_action_eye_dark, R.drawable.ic_action_eye_light).position(6)
.listen(new OnContextMenuClick() {
@Override
public void onContextMenuClick(int itemId, int pos, boolean isChecked, DialogInterface dialog) {
diff --git a/OsmAnd/src/net/osmand/plus/osmo/OsMoService.java b/OsmAnd/src/net/osmand/plus/osmo/OsMoService.java
index 6060acdc86..8be911a41a 100644
--- a/OsmAnd/src/net/osmand/plus/osmo/OsMoService.java
+++ b/OsmAnd/src/net/osmand/plus/osmo/OsMoService.java
@@ -28,7 +28,7 @@ import org.json.JSONObject;
import android.os.Build;
import android.provider.Settings.Secure;
-public class OsMoService implements OsMoSender {
+public class OsMoService implements OsMoSender, OsMoReactor {
private OsMoThread thread;
private List listSenders = new java.util.concurrent.CopyOnWriteArrayList();
private List listReactors = new java.util.concurrent.CopyOnWriteArrayList();
@@ -42,6 +42,7 @@ public class OsMoService implements OsMoSender {
public OsMoService(OsmandApplication app) {
this.app = app;
listSenders.add(this);
+ listReactors.add(this);
}
public boolean isConnected() {
@@ -149,6 +150,8 @@ public class OsMoService implements OsMoSender {
public String username;
public long serverTimeDelta;
public long motdTimestamp;
+
+ public String motd = "";
}
public SessionInfo getCurrentSessionInfo() {
@@ -225,5 +228,17 @@ public class OsMoService implements OsMoSender {
}
return null;
}
+
+ @Override
+ public boolean acceptCommand(String command, String data, JSONObject obj, OsMoThread tread) {
+ if(command.equals("MOTD")) {
+ SessionInfo si = getCurrentSessionInfo();
+ if(si != null) {
+ si.motd = data;
+ }
+ return true;
+ }
+ return false;
+ }
}
diff --git a/OsmAnd/src/net/osmand/plus/osmo/OsMoThread.java b/OsmAnd/src/net/osmand/plus/osmo/OsMoThread.java
index d95833ed5a..a56d4347d4 100644
--- a/OsmAnd/src/net/osmand/plus/osmo/OsMoThread.java
+++ b/OsmAnd/src/net/osmand/plus/osmo/OsMoThread.java
@@ -306,7 +306,11 @@ public class OsMoThread {
sessionInfo.username = obj.getString("name");
}
if (obj.has("motd")) {
- sessionInfo.motdTimestamp = obj.getLong("motd");
+ long l = obj.getLong("motd");
+ if(l != sessionInfo.motdTimestamp ){
+ sessionInfo.motdTimestamp = l;
+ service.pushCommand("MOTD");
+ }
}
if(obj.has("tracker_id")) {
sessionInfo.trackerId= obj.getString("tracker_id");