Merge remote-tracking branch 'origin/master'

This commit is contained in:
Weblate 2014-07-31 01:22:33 +02:00
commit e5d7bdc326
4 changed files with 56 additions and 3 deletions

View file

@ -9,6 +9,8 @@
3. All your modified/created strings are in the top of the file (to make easier find what\'s translated).
PLEASE: Have a look at http://code.google.com/p/osmand/wiki/UIConsistency, it may really improve your and our work :-) Thx - Hardy
-->
<string name="osmo_leave_confirmation_msg">Do you want to leave group %1$s?</string>
<string name="osmo_specify_tracker_id">Please specify id</string>
<string name="continue_navigation">Continue Navigation</string>
<string name="pause_navigation">Pause Navigation</string>
<string name="keep_navigation_service">Keep</string>

View file

@ -329,6 +329,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
if(osMoPlugin.getService().isConnected()) {
adapter.synchronizeGroups();
}
osMoPlugin.setGroupsActivity(this);
}
@Override
@ -340,6 +341,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
}
app.getLocationProvider().removeLocationListener(this);
osMoPlugin.getGroups().setUiListener(null);
osMoPlugin.setGroupsActivity(null);
}
private void enterSelectionMode(final Object o) {
@ -431,7 +433,9 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
Builder bld = new AlertDialog.Builder(OsMoGroupsActivity.this);
String name = (selectedObject instanceof OsMoDevice)? ((OsMoDevice) selectedObject).getVisibleName() :
((OsMoGroup) selectedObject).getVisibleName(OsMoGroupsActivity.this);
bld.setTitle(getString(R.string.delete_confirmation_msg, name));
bld.setTitle(getString(
selectedObject instanceof OsMoDevice? R.string.delete_confirmation_msg :
R.string.osmo_leave_confirmation_msg, name));
bld.setPositiveButton(R.string .default_buttons_yes, new DialogInterface.OnClickListener() {
@Override
@ -814,11 +818,15 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
if(isChecked) {
labelTracker.setText(R.string.osmo_connect_to_device_tracker_id);
labelName.setText(R.string.osmo_connect_to_device_name);
name.setVisibility(View.VISIBLE);
labelName.setVisibility(View.VISIBLE);
mgv.setVisibility(View.GONE);
} else {
labelTracker.setText(R.string.osmo_connect_to_group_id);
labelName.setText(R.string.osmo_group_name);
name.setHint(R.string.osmo_use_server_name);
name.setVisibility(View.GONE);
labelName.setVisibility(View.GONE);
mgv.setVisibility(View.VISIBLE);
}
}
@ -833,6 +841,11 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
final String nameUser = name.getText().toString();
final String id = tracker.getText().toString();
final String nick = nickname.getText().toString();
if(id.length() == 0) {
app.showToastMessage(R.string.osmo_specify_tracker_id);
connectToDevice();
return;
}
if(device.isChecked()) {
OsMoDevice dev = osMoPlugin.getGroups().addConnectedDevice(id, nameUser,
ColorDialogs.getRandomColor());

View file

@ -61,9 +61,11 @@ public class OsMoPlugin extends OsmandPlugin implements MonitoringInfoControlSer
private BaseMapWidget osmoControl;
private OsMoPositionLayer olayer;
protected MapActivity mapActivity;
protected OsMoGroupsActivity groupsActivity;
private final static Log log = PlatformUtil.getLog(OsMoPlugin.class);
public OsMoPlugin(final OsmandApplication app) {
service = new OsMoService(app, this);
tracker = new OsMoTracker(service, app.getSettings().OSMO_SAVE_TRACK_INTERVAL,
@ -83,6 +85,14 @@ public class OsMoPlugin extends OsmandPlugin implements MonitoringInfoControlSer
return true;
}
public OsMoGroupsActivity getGroupsActivity() {
return groupsActivity;
}
public void setGroupsActivity(OsMoGroupsActivity groupsActivity) {
this.groupsActivity = groupsActivity;
}
@Override
public void disable(OsmandApplication app) {
super.disable(app);

View file

@ -27,11 +27,15 @@ import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.AsyncTask;
@ -300,8 +304,18 @@ public class OsMoService implements OsMoReactor {
}
}
private void runNotification(String error) {
if (notification == null) {
private void runNotification(final String error) {
final OsMoGroupsActivity ga = plugin.getGroupsActivity();
if(ga != null) {
app.runInUIThread(new Runnable() {
@Override
public void run() {
showRegisterAgain(ga, app.getString(R.string.osmo_auth_error, error));
}
});
} else if (notification == null) {
Intent notificationIntent = new Intent(OSMO_REGISTER_AGAIN);
PendingIntent intent = PendingIntent.getBroadcast(app, 0, notificationIntent,
PendingIntent.FLAG_UPDATE_CURRENT);
@ -319,6 +333,20 @@ public class OsMoService implements OsMoReactor {
}
protected void showRegisterAgain(OsMoGroupsActivity ga, String msg) {
Builder bld = new AlertDialog.Builder(ga);
bld.setMessage(msg);
bld.setPositiveButton(R.string.default_buttons_ok, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
registerAsync();
}
});
bld.setNegativeButton(R.string.default_buttons_cancel, null);
}
private void showDialogAskToReregister(String error) {
// Builder bld = new AlertDialog.Builder(this);
// bld.setMessage(app.getString(R.string.osmo_io_error) + error);