Small bugs and improvements (number of tracks)
This commit is contained in:
parent
8f50a4969b
commit
4ccd8759fb
7 changed files with 70 additions and 25 deletions
|
@ -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="no_index_file_to_download">Nothing to download, please check internet connection.</string>
|
||||
<string name="select_index_file_to_download">Nothing was found. If you can\'t find your region, you can make it yourself (see http://osmand.net).</string>
|
||||
<string name="none_selected_gpx">No GPX files selected. In order to select press and hold on available track.</string>
|
||||
<string name="local_index_unselect_gpx_file">Unselect</string>
|
||||
<string name="local_index_select_gpx_file">Select to show</string>
|
||||
|
@ -983,7 +985,6 @@ Afghanistan, Albania, Algeria, Andorra, Angola, Anguilla, Antigua and Barbuda, A
|
|||
<string name="confirm_interrupt_download">Do you want to interrupt file downloading?</string>
|
||||
<string name="first_time_msg">Thank you for using OsmAnd. For many features of this application you need some regional offline data which you can download via \'Settings\' → \'Manage map files\'. Afterwards you will be able to view maps, locate addresses, look up POIs, and find public transportation.</string>
|
||||
<string name="basemap_was_selected_to_download">Basemap is required for proper application functioning and was selected to download.</string>
|
||||
<string name="select_index_file_to_download">Nothing was found. If you can\'t find your region, you can make it yourself (see http://osmand.net).</string>
|
||||
<string name="local_indexes_cat_tile">Online and tile maps</string>
|
||||
<string name="local_indexes_cat_map">Offline maps (vector)</string>
|
||||
<string name="index_settings_descr">Download and manage offline map files stored on your device</string>
|
||||
|
|
|
@ -2,7 +2,9 @@ package net.osmand.plus;
|
|||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
|
@ -30,7 +32,7 @@ public class GpxSelectionHelper {
|
|||
// new BooleanPreference("show_current_gpx_track", false).makeGlobal().cache();
|
||||
private List<SelectedGpxFile> selectedGPXFiles = new java.util.concurrent.CopyOnWriteArrayList<SelectedGpxFile>();
|
||||
private SavingTrackHelper savingTrackHelper;
|
||||
private Runnable uiListener;
|
||||
private Map<Class<?>, Runnable> uiListeners = new LinkedHashMap<Class<?>, Runnable>();
|
||||
|
||||
public GpxSelectionHelper(OsmandApplication osmandApplication) {
|
||||
this.app = osmandApplication;
|
||||
|
@ -353,15 +355,20 @@ public class GpxSelectionHelper {
|
|||
saveCurrentSelections();
|
||||
}
|
||||
|
||||
public void setUiListener(Runnable r) {
|
||||
this.uiListener = r;
|
||||
public void setUiListener(Class<?> key, Runnable listener) {
|
||||
if(listener == null) {
|
||||
uiListeners.remove(key);
|
||||
} else {
|
||||
uiListeners.put(key, listener);
|
||||
}
|
||||
}
|
||||
|
||||
public Runnable getUiListener() {
|
||||
return uiListener;
|
||||
public void runUiListeners() {
|
||||
for(Runnable r : uiListeners.values()) {
|
||||
r.run();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static class SelectedGpxFile {
|
||||
public boolean notShowNavigationDialog = false;
|
||||
|
||||
|
@ -545,5 +552,4 @@ public class GpxSelectionHelper {
|
|||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -400,10 +400,7 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment {
|
|||
resId == R.string.local_index_select_gpx_file) {
|
||||
getMyApplication().getSelectedGpxHelper().selectGpxFile(info.gpx, resId == R.string.local_index_select_gpx_file, true);
|
||||
listAdapter.notifyDataSetChanged();
|
||||
Runnable r = selectedGpxHelper.getUiListener();
|
||||
if(r != null) {
|
||||
r.run();
|
||||
}
|
||||
selectedGpxHelper.runUiListeners();
|
||||
} else if (resId == R.string.local_index_mi_delete) {
|
||||
Builder confirm = new AlertDialog.Builder(getActivity());
|
||||
confirm.setPositiveButton(R.string.default_buttons_yes, new DialogInterface.OnClickListener() {
|
||||
|
@ -498,6 +495,7 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment {
|
|||
@Override
|
||||
protected void onPreExecute() {
|
||||
getSherlockActivity().setSupportProgressBarIndeterminateVisibility(true);
|
||||
listAdapter.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -917,10 +915,7 @@ public class AvailableGPXFragment extends OsmandExpandableListFragment {
|
|||
|
||||
@Override
|
||||
protected void onPostExecute(String result) {
|
||||
Runnable r = selectedGpxHelper.getUiListener();
|
||||
if(r != null) {
|
||||
r.run();
|
||||
}
|
||||
selectedGpxHelper.runUiListeners();
|
||||
getSherlockActivity().setProgressBarIndeterminateVisibility(false);
|
||||
if(showOnMap && toShow != null) {
|
||||
getMyApplication().getSettings().setMapLocationToShow(toShow.lat, toShow.lon,
|
||||
|
|
|
@ -6,6 +6,7 @@ package net.osmand.plus.activities;
|
|||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import net.osmand.plus.GpxSelectionHelper;
|
||||
import net.osmand.plus.OsmandApplication;
|
||||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
|
@ -20,7 +21,9 @@ import android.view.View;
|
|||
import android.view.ViewGroup;
|
||||
import android.widget.FrameLayout;
|
||||
import android.widget.TabHost;
|
||||
import android.widget.TabHost.TabSpec;
|
||||
import android.widget.TabWidget;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.actionbarsherlock.app.SherlockFragmentActivity;
|
||||
import com.actionbarsherlock.view.Window;
|
||||
|
@ -34,6 +37,8 @@ public class FavouritesActivity extends SherlockFragmentActivity {
|
|||
private static final String TRACKS = "TRACKS";
|
||||
private static final String SELECTED_TRACK = "SELECTED_TRACK";
|
||||
private TabsAdapter mTabsAdapter;
|
||||
private TabSpec selectedTrack;
|
||||
private TabHost tabHost;
|
||||
|
||||
|
||||
@Override
|
||||
|
@ -67,7 +72,7 @@ public class FavouritesActivity extends SherlockFragmentActivity {
|
|||
getSupportFragmentManager().beginTransaction().add(R.id.layout, new FavouritesTreeFragment()).commit();
|
||||
} else {
|
||||
setContentView(R.layout.tab_content);
|
||||
TabHost tabHost = (TabHost) findViewById(android.R.id.tabhost);
|
||||
tabHost = (TabHost) findViewById(android.R.id.tabhost);
|
||||
tabHost.setup();
|
||||
|
||||
OsmandSettings settings = ((OsmandApplication) getApplication()).getSettings();
|
||||
|
@ -78,12 +83,45 @@ public class FavouritesActivity extends SherlockFragmentActivity {
|
|||
FavouritesTreeFragment.class, null);
|
||||
mTabsAdapter.addTab(tabHost.newTabSpec(TRACKS).setIndicator(getString(R.string.my_tracks)),
|
||||
AvailableGPXFragment.class, null);
|
||||
mTabsAdapter.addTab(tabHost.newTabSpec(SELECTED_TRACK).setIndicator(getString(R.string.selected_track)),
|
||||
selectedTrack = mTabsAdapter.addTab(tabHost.newTabSpec(SELECTED_TRACK).setIndicator(getString(R.string.selected_track)),
|
||||
SelectedGPXFragment.class, null);
|
||||
tabHost.setCurrentTab(tab);
|
||||
updateSelectedTracks();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
((OsmandApplication) getApplication()).getSelectedGpxHelper().setUiListener(FavouritesActivity.class,new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
updateSelectedTracks();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPause() {
|
||||
super.onPause();
|
||||
((OsmandApplication) getApplication()).getSelectedGpxHelper().setUiListener(FavouritesActivity.class, null);
|
||||
}
|
||||
|
||||
public void updateSelectedTracks() {
|
||||
if (selectedTrack != null) {
|
||||
GpxSelectionHelper gpx = ((OsmandApplication) getApplication()).getSelectedGpxHelper();
|
||||
String vl = getString(R.string.selected_track);
|
||||
if (gpx.isShowingAnyGpxFiles()) {
|
||||
vl += " (" + gpx.getSelectedGPXFiles().size()
|
||||
+ ")";
|
||||
}
|
||||
try {
|
||||
((TextView)tabHost.getTabWidget().getChildAt(2).findViewById(android.R.id.title)).setText(vl);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
mTabsAdapter.notifyDataSetChanged();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -157,7 +195,7 @@ public class FavouritesActivity extends SherlockFragmentActivity {
|
|||
mViewPager.setOnPageChangeListener(this);
|
||||
}
|
||||
|
||||
public void addTab(TabHost.TabSpec tabSpec, Class<?> clss, Bundle args) {
|
||||
public TabSpec addTab(TabHost.TabSpec tabSpec, Class<?> clss, Bundle args) {
|
||||
tabSpec.setContent(new DummyTabFactory(mContext));
|
||||
String tag = tabSpec.getTag();
|
||||
|
||||
|
@ -165,6 +203,7 @@ public class FavouritesActivity extends SherlockFragmentActivity {
|
|||
mTabs.add(info);
|
||||
mTabHost.addTab(tabSpec);
|
||||
notifyDataSetChanged();
|
||||
return tabSpec;
|
||||
}
|
||||
|
||||
|
||||
|
@ -210,3 +249,4 @@ public class FavouritesActivity extends SherlockFragmentActivity {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -83,7 +83,8 @@ public class SelectedGPXFragment extends OsmandExpandableListFragment {
|
|||
setAdapter(adapter);
|
||||
}
|
||||
adapter.setDisplayGroups(selectedGpxHelper.getDisplayGroups());
|
||||
selectedGpxHelper.setUiListener(new Runnable() {
|
||||
selectedGpxHelper.setUiListener(SelectedGPXFragment.class,
|
||||
new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
|
@ -95,7 +96,7 @@ public class SelectedGPXFragment extends OsmandExpandableListFragment {
|
|||
@Override
|
||||
public void onPause() {
|
||||
super.onPause();
|
||||
selectedGpxHelper.setUiListener(null);
|
||||
selectedGpxHelper.setUiListener(SelectedGPXFragment.class, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -274,8 +275,8 @@ public class SelectedGPXFragment extends OsmandExpandableListFragment {
|
|||
public void onClick(DialogInterface dialog, int which) {
|
||||
if(!vis.isChecked()) {
|
||||
getMyApplication().getSelectedGpxHelper().selectGpxFile(model.getGpx(), false, false);
|
||||
|
||||
SelectedGPXFragment.this.adapter.setDisplayGroups(selectedGpxHelper.getDisplayGroups());
|
||||
getMyApplication().getSelectedGpxHelper().runUiListeners();
|
||||
} else {
|
||||
updateSplit(model, distanceSplit, timeSplit, sp.getSelectedItemPosition() );
|
||||
}
|
||||
|
|
|
@ -167,6 +167,8 @@ public class DownloadIndexAdapter extends OsmandBaseExpandableListAdapter implem
|
|||
Collection<IndexItem> items = (Collection<IndexItem>) results.values;
|
||||
if (items != null && !items.isEmpty()) {
|
||||
list.addAll(IndexItemCategory.categorizeIndexItems(downloadActivity.getMyApplication(), items));
|
||||
} else if(DownloadIndexAdapter.this.indexFiles.isEmpty()){
|
||||
list.add(new IndexItemCategory(downloadActivity.getResources().getString(R.string.no_index_file_to_download), 1));
|
||||
} else {
|
||||
list.add(new IndexItemCategory(downloadActivity.getResources().getString(R.string.select_index_file_to_download), 1));
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ public class OsmandMonitoringPlugin extends OsmandPlugin implements MonitoringIn
|
|||
public OsmandMonitoringPlugin(OsmandApplication app) {
|
||||
this.app = app;
|
||||
liveMonitoringHelper = new LiveMonitoringHelper(app);
|
||||
ApplicationMode.regWidget("monitoring", (ApplicationMode[])null);
|
||||
ApplicationMode.regWidget("monitoring", ApplicationMode.DEFAULT);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in a new issue