Add Fav edits
This commit is contained in:
parent
60f3dae306
commit
99f6c9fab3
4 changed files with 176 additions and 125 deletions
29
OsmAnd/res/layout/fav_group_edit.xml
Normal file
29
OsmAnd/res/layout/fav_group_edit.xml
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:custom="http://schemas.android.com/apk/res/net.osmand.plus"
|
||||||
|
android:layout_width="fill_parent" android:layout_height="fill_parent" >
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="fill_parent"
|
||||||
|
android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center_horizontal">
|
||||||
|
<net.osmand.view.ExpandableLinearLayout custom:maxVisibleWidth="800dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" >
|
||||||
|
<TextView android:id="@+id/TextView" android:textSize="16sp" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:layout_marginTop="4dp" android:layout_marginBottom="4dp" android:text="@string/navigate_point_top_text"></TextView>
|
||||||
|
|
||||||
|
<TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="1">
|
||||||
|
<TableRow android:layout_width="fill_parent" >
|
||||||
|
<TextView android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="@string/navigate_point_latitude"></TextView>
|
||||||
|
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/LatitudeEdit" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:inputType="phone"></EditText>
|
||||||
|
</TableRow>
|
||||||
|
<TableRow android:layout_width="fill_parent" >
|
||||||
|
<TextView android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="@string/navigate_point_longitude"></TextView>
|
||||||
|
<EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/LongitudeEdit" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" android:inputType="phone"></EditText>
|
||||||
|
</TableRow>
|
||||||
|
<TableRow android:layout_width="fill_parent" >
|
||||||
|
<TextView android:textSize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="5dp" android:text="@string/navigate_point_format"></TextView>
|
||||||
|
<Spinner android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/Format" android:layout_marginLeft="5dp" android:layout_marginRight="5dp" ></Spinner>
|
||||||
|
</TableRow>
|
||||||
|
<TextView android:id="@+id/ValidateTextView" android:textSize="16sp" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" android:gravity="center" android:textColor="@color/color_invalid"></TextView>
|
||||||
|
</TableLayout>
|
||||||
|
|
||||||
|
</net.osmand.view.ExpandableLinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
</ScrollView>
|
|
@ -1,5 +1,7 @@
|
||||||
package net.osmand.plus.activities;
|
package net.osmand.plus.activities;
|
||||||
|
|
||||||
|
import gnu.trove.list.array.TIntArrayList;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.text.MessageFormat;
|
import java.text.MessageFormat;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -24,6 +26,7 @@ import net.osmand.plus.OsmandSettings;
|
||||||
import net.osmand.plus.R;
|
import net.osmand.plus.R;
|
||||||
import net.osmand.plus.TargetPointsHelper;
|
import net.osmand.plus.TargetPointsHelper;
|
||||||
import net.osmand.plus.base.FavoriteImageDrawable;
|
import net.osmand.plus.base.FavoriteImageDrawable;
|
||||||
|
import net.osmand.plus.helpers.ColorDialogs;
|
||||||
import net.osmand.util.MapUtils;
|
import net.osmand.util.MapUtils;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
|
@ -39,6 +42,7 @@ import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.AdapterView;
|
||||||
import android.widget.ArrayAdapter;
|
import android.widget.ArrayAdapter;
|
||||||
import android.widget.AutoCompleteTextView;
|
import android.widget.AutoCompleteTextView;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
|
@ -47,8 +51,10 @@ import android.widget.ExpandableListView;
|
||||||
import android.widget.Filter;
|
import android.widget.Filter;
|
||||||
import android.widget.Filterable;
|
import android.widget.Filterable;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
import android.widget.Spinner;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
import android.widget.AdapterView.OnItemSelectedListener;
|
||||||
|
|
||||||
import com.actionbarsherlock.view.ActionMode;
|
import com.actionbarsherlock.view.ActionMode;
|
||||||
import com.actionbarsherlock.view.ActionMode.Callback;
|
import com.actionbarsherlock.view.ActionMode.Callback;
|
||||||
|
@ -79,7 +85,6 @@ public class FavouritesTreeFragment extends OsmandExpandableListFragment {
|
||||||
private ActionMode actionMode;
|
private ActionMode actionMode;
|
||||||
private SearchView searchView;
|
private SearchView searchView;
|
||||||
protected boolean hideActionBar;
|
protected boolean hideActionBar;
|
||||||
private int defColor;
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttach(Activity activity) {
|
public void onAttach(Activity activity) {
|
||||||
|
@ -87,7 +92,6 @@ public class FavouritesTreeFragment extends OsmandExpandableListFragment {
|
||||||
|
|
||||||
helper = getMyApplication().getFavorites();
|
helper = getMyApplication().getFavorites();
|
||||||
favouritesAdapter = new FavouritesAdapter();
|
favouritesAdapter = new FavouritesAdapter();
|
||||||
defColor = getResources().getColor(R.color.color_favorite);
|
|
||||||
favouritesAdapter.synchronizeGroups();
|
favouritesAdapter.synchronizeGroups();
|
||||||
setAdapter(favouritesAdapter);
|
setAdapter(favouritesAdapter);
|
||||||
}
|
}
|
||||||
|
@ -451,8 +455,26 @@ public class FavouritesTreeFragment extends OsmandExpandableListFragment {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void openChangeGroupDialog() {
|
protected void openChangeGroupDialog(FavoriteGroup group) {
|
||||||
// TODO Auto-generated method stub
|
Builder bld = new AlertDialog.Builder(getActivity());
|
||||||
|
View favEdit = getActivity().getLayoutInflater().inflate(R.layout.fav_group_edit, null);
|
||||||
|
final Spinner colorSpinner = (Spinner) favEdit.findViewById(R.id.ColorSpinner);
|
||||||
|
final TIntArrayList list = new TIntArrayList();
|
||||||
|
ColorDialogs.setupColorSpinner(getActivity(), group.color, colorSpinner, list);
|
||||||
|
|
||||||
|
CheckBox checkBox = (CheckBox) favEdit.findViewById(R.id.Visibility);
|
||||||
|
checkBox.setChecked(group.visible);
|
||||||
|
bld.setView(favEdit);
|
||||||
|
bld.setNegativeButton(R.string.default_buttons_cancel, null);
|
||||||
|
bld.setPositiveButton(R.string.default_buttons_ok, new DialogInterface.OnClickListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
list.get(colorSpinner.getSelectedItemPosition());
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
bld.show();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -475,41 +497,6 @@ public class FavouritesTreeFragment extends OsmandExpandableListFragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void importFile() {
|
|
||||||
final File tosave = getMyApplication().getAppPath(FavouritesDbHelper.FILE_TO_SAVE);
|
|
||||||
if (!tosave.exists()) {
|
|
||||||
AccessibleToast.makeText(getActivity(),
|
|
||||||
MessageFormat.format(getString(R.string.fav_file_to_load_not_found), tosave.getAbsolutePath()),
|
|
||||||
Toast.LENGTH_LONG).show();
|
|
||||||
} else {
|
|
||||||
new AsyncTask<Void, FavouritePoint, String>() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String doInBackground(Void... params) {
|
|
||||||
// helper.loadGPXFile(getMyApplication(), tosave, this);
|
|
||||||
return null ;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPreExecute() {
|
|
||||||
showProgressBar();
|
|
||||||
};
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void onPostExecute(String warning) {
|
|
||||||
hideProgressBar();
|
|
||||||
if (warning == null) {
|
|
||||||
AccessibleToast.makeText(getActivity(), R.string.fav_imported_sucessfully, Toast.LENGTH_SHORT)
|
|
||||||
.show();
|
|
||||||
} else {
|
|
||||||
AccessibleToast.makeText(getActivity(), warning, Toast.LENGTH_LONG).show();
|
|
||||||
}
|
|
||||||
favouritesAdapter.synchronizeGroups();
|
|
||||||
};
|
|
||||||
|
|
||||||
}.execute();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void shareFavourites() {
|
private void shareFavourites() {
|
||||||
if (favouritesAdapter.isEmpty()) {
|
if (favouritesAdapter.isEmpty()) {
|
||||||
|
@ -542,7 +529,7 @@ public class FavouritesTreeFragment extends OsmandExpandableListFragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void export() {
|
protected void export() {
|
||||||
final File tosave = getMyApplication().getAppPath(FavouritesDbHelper.FILE_TO_SAVE);
|
final File tosave = getMyApplication().getAppPath(FavouritesDbHelper.FILE_TO_SAVE);
|
||||||
if (favouritesAdapter.isEmpty()) {
|
if (favouritesAdapter.isEmpty()) {
|
||||||
AccessibleToast.makeText(getActivity(), R.string.no_fav_to_save, Toast.LENGTH_LONG).show();
|
AccessibleToast.makeText(getActivity(), R.string.no_fav_to_save, Toast.LENGTH_LONG).show();
|
||||||
|
@ -726,7 +713,7 @@ public class FavouritesTreeFragment extends OsmandExpandableListFragment {
|
||||||
ch.setOnClickListener(new View.OnClickListener() {
|
ch.setOnClickListener(new View.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
openChangeGroupDialog();
|
openChangeGroupDialog(model);
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
104
OsmAnd/src/net/osmand/plus/helpers/ColorDialogs.java
Normal file
104
OsmAnd/src/net/osmand/plus/helpers/ColorDialogs.java
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
package net.osmand.plus.helpers;
|
||||||
|
|
||||||
|
import gnu.trove.list.array.TIntArrayList;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.osmand.plus.R;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.AdapterView.OnItemSelectedListener;
|
||||||
|
import android.widget.AdapterView;
|
||||||
|
import android.widget.ArrayAdapter;
|
||||||
|
import android.widget.Spinner;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
public class ColorDialogs {
|
||||||
|
public static int[] paletteColors = new int[] {
|
||||||
|
R.string.color_red,
|
||||||
|
R.string.color_pink,
|
||||||
|
R.string.color_orange,
|
||||||
|
R.string.color_brown,
|
||||||
|
R.string.color_yellow,
|
||||||
|
R.string.color_lightblue,
|
||||||
|
R.string.color_blue,
|
||||||
|
R.string.color_green
|
||||||
|
};
|
||||||
|
|
||||||
|
public static int[] pallette = new int[] {
|
||||||
|
0xffd00d0d,
|
||||||
|
0xffe044bb,
|
||||||
|
0xffff5020,
|
||||||
|
0xff8e2512,
|
||||||
|
0xffeeee10,
|
||||||
|
0xff10c0f0,
|
||||||
|
0xff1010a0,
|
||||||
|
0xff88e030
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
public static void setupColorSpinner(Context ctx, int selectedColor, final Spinner colorSpinner,
|
||||||
|
final TIntArrayList colors) {
|
||||||
|
OnItemSelectedListener listener = new OnItemSelectedListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
||||||
|
View v = parent.getChildAt(0);
|
||||||
|
if(v instanceof TextView) {
|
||||||
|
((TextView) v).setTextColor(colors.get(position));
|
||||||
|
}
|
||||||
|
colorSpinner.invalidate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNothingSelected(AdapterView<?> parent) {
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
colors.add(pallette);
|
||||||
|
List<String> colorNames= new ArrayList<String>();
|
||||||
|
int selection = -1;
|
||||||
|
for(int i = 0; i < pallette.length; i++) {
|
||||||
|
colorNames.add(ctx.getString(paletteColors[i]));
|
||||||
|
colors.add(pallette[i]);
|
||||||
|
if(selectedColor == pallette[i]) {
|
||||||
|
selection = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(selection == -1) {
|
||||||
|
colors.insert(0, selectedColor);
|
||||||
|
colorNames.add(0, colorToString(selectedColor));
|
||||||
|
selection = 0;
|
||||||
|
}
|
||||||
|
ArrayAdapter<String> adapter = new ArrayAdapter<String>(ctx, android.R.layout.simple_spinner_item, colorNames) {
|
||||||
|
@Override
|
||||||
|
public View getView(int position, View convertView, ViewGroup parent) {
|
||||||
|
View v = super.getView(position, convertView, parent);
|
||||||
|
if(v instanceof TextView) {
|
||||||
|
((TextView) v).setTextColor(colors.get(position));
|
||||||
|
}
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||||
|
colorSpinner.setAdapter(adapter);
|
||||||
|
colorSpinner.setOnItemSelectedListener(listener);
|
||||||
|
colorSpinner.setSelection(selection);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static int getRandomColor() {
|
||||||
|
return pallette[new Random().nextInt(pallette.length)];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String colorToString(int color) {
|
||||||
|
if ((0xFF000000 & color) == 0xFF000000) {
|
||||||
|
return "#" + Integer.toHexString(color & 0x00FFFFFF); //$NON-NLS-1$
|
||||||
|
} else {
|
||||||
|
return "#" + Integer.toHexString(color); //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -32,6 +32,7 @@ import net.osmand.plus.activities.OsmandBaseExpandableListAdapter;
|
||||||
import net.osmand.plus.activities.OsmandExpandableListActivity;
|
import net.osmand.plus.activities.OsmandExpandableListActivity;
|
||||||
import net.osmand.plus.activities.actions.ShareDialog;
|
import net.osmand.plus.activities.actions.ShareDialog;
|
||||||
import net.osmand.plus.base.MapViewTrackingUtilities;
|
import net.osmand.plus.base.MapViewTrackingUtilities;
|
||||||
|
import net.osmand.plus.helpers.ColorDialogs;
|
||||||
import net.osmand.plus.osmo.OsMoGroups.OsMoGroupsUIListener;
|
import net.osmand.plus.osmo.OsMoGroups.OsMoGroupsUIListener;
|
||||||
import net.osmand.plus.osmo.OsMoGroupsStorage.OsMoDevice;
|
import net.osmand.plus.osmo.OsMoGroupsStorage.OsMoDevice;
|
||||||
import net.osmand.plus.osmo.OsMoGroupsStorage.OsMoGroup;
|
import net.osmand.plus.osmo.OsMoGroupsStorage.OsMoGroup;
|
||||||
|
@ -123,27 +124,6 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
||||||
private String operation;
|
private String operation;
|
||||||
private Paint white;
|
private Paint white;
|
||||||
|
|
||||||
private int[] paletteColors = new int[] {
|
|
||||||
R.string.color_red,
|
|
||||||
R.string.color_pink,
|
|
||||||
R.string.color_orange,
|
|
||||||
R.string.color_brown,
|
|
||||||
R.string.color_yellow,
|
|
||||||
R.string.color_lightblue,
|
|
||||||
R.string.color_blue,
|
|
||||||
R.string.color_green
|
|
||||||
};
|
|
||||||
|
|
||||||
private int[] pallette = new int[] {
|
|
||||||
0xffd00d0d,
|
|
||||||
0xffe044bb,
|
|
||||||
0xffff5020,
|
|
||||||
0xff8e2512,
|
|
||||||
0xffeeee10,
|
|
||||||
0xff10c0f0,
|
|
||||||
0xff1010a0,
|
|
||||||
0xff88e030
|
|
||||||
};
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate(Bundle icicle) {
|
public void onCreate(Bundle icicle) {
|
||||||
|
@ -697,7 +677,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
||||||
final String id = tracker.getText().toString();
|
final String id = tracker.getText().toString();
|
||||||
final String nick = nickname.getText().toString();
|
final String nick = nickname.getText().toString();
|
||||||
if(device.isChecked()) {
|
if(device.isChecked()) {
|
||||||
OsMoDevice dev = osMoPlugin.getGroups().addConnectedDevice(id, nameUser, getRandomColor());
|
OsMoDevice dev = osMoPlugin.getGroups().addConnectedDevice(id, nameUser,
|
||||||
|
ColorDialogs.getRandomColor());
|
||||||
adapter.update(dev.group);
|
adapter.update(dev.group);
|
||||||
adapter.notifyDataSetChanged();
|
adapter.notifyDataSetChanged();
|
||||||
} else {
|
} else {
|
||||||
|
@ -972,7 +953,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
||||||
int color = getResources().getColor(R.color.color_unknown);
|
int color = getResources().getColor(R.color.color_unknown);
|
||||||
int activeColor = model.getColor();
|
int activeColor = model.getColor();
|
||||||
if (activeColor == 0) {
|
if (activeColor == 0) {
|
||||||
activeColor = getRandomColor();
|
activeColor = ColorDialogs.getRandomColor();
|
||||||
osMoPlugin.getGroups().setGenColor(model, activeColor);
|
osMoPlugin.getGroups().setGenColor(model, activeColor);
|
||||||
}
|
}
|
||||||
//Location location = tracker.getLastLocation(model.trackerId);
|
//Location location = tracker.getLastLocation(model.trackerId);
|
||||||
|
@ -1053,9 +1034,7 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getRandomColor() {
|
|
||||||
return pallette[new Random().nextInt(pallette.length)];
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateCompassValue(float value) {
|
public void updateCompassValue(float value) {
|
||||||
|
@ -1087,13 +1066,6 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
||||||
refreshList();
|
refreshList();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String colorToString(int color) {
|
|
||||||
if ((0xFF000000 & color) == 0xFF000000) {
|
|
||||||
return "#" + Integer.toHexString(color & 0x00FFFFFF); //$NON-NLS-1$
|
|
||||||
} else {
|
|
||||||
return "#" + Integer.toHexString(color); //$NON-NLS-1$
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void showSettingsDialog(final OsMoDevice device) {
|
private void showSettingsDialog(final OsMoDevice device) {
|
||||||
Builder bld = new AlertDialog.Builder(OsMoGroupsActivity.this);
|
Builder bld = new AlertDialog.Builder(OsMoGroupsActivity.this);
|
||||||
|
@ -1101,61 +1073,18 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
||||||
final LayoutInflater inflater = LayoutInflater.from(this);
|
final LayoutInflater inflater = LayoutInflater.from(this);
|
||||||
View view = inflater.inflate(R.layout.osmo_edit_device, null);
|
View view = inflater.inflate(R.layout.osmo_edit_device, null);
|
||||||
final EditText name = (EditText) view.findViewById(R.id.Name);
|
final EditText name = (EditText) view.findViewById(R.id.Name);
|
||||||
final Spinner colorSpinner = (Spinner) view.findViewById(R.id.ColorSpinner);
|
|
||||||
bld.setView(view);
|
|
||||||
name.setText(device.getVisibleName());
|
|
||||||
final TIntArrayList list = new TIntArrayList(pallette);
|
|
||||||
List<String> colorNames= new ArrayList<String>();
|
|
||||||
int selection = -1;
|
|
||||||
if(device.getColor() == 0) {
|
if(device.getColor() == 0) {
|
||||||
osMoPlugin.getGroups().setDeviceProperties(device, device.getVisibleName(), getRandomColor());
|
osMoPlugin.getGroups().setDeviceProperties(device, device.getVisibleName(),
|
||||||
|
ColorDialogs.getRandomColor());
|
||||||
}
|
}
|
||||||
int devColor = device.getColor();
|
int devColor = device.getColor();
|
||||||
|
bld.setView(view);
|
||||||
|
name.setText(device.getVisibleName());
|
||||||
|
|
||||||
|
final Spinner colorSpinner = (Spinner) view.findViewById(R.id.ColorSpinner);
|
||||||
|
final TIntArrayList list = new TIntArrayList();
|
||||||
|
ColorDialogs.setupColorSpinner(this, devColor, colorSpinner, list);
|
||||||
|
|
||||||
for(int i = 0; i < pallette.length; i++) {
|
|
||||||
colorNames.add(getString(paletteColors[i]));
|
|
||||||
list.add(pallette[i]);
|
|
||||||
if(devColor == pallette[i]) {
|
|
||||||
selection = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(selection == -1) {
|
|
||||||
list.insert(0, devColor);
|
|
||||||
colorNames.add(0, colorToString(devColor));
|
|
||||||
selection = 0;
|
|
||||||
}
|
|
||||||
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, colorNames) {
|
|
||||||
@Override
|
|
||||||
public View getView(int position, View convertView, ViewGroup parent) {
|
|
||||||
View v = super.getView(position, convertView, parent);
|
|
||||||
if(v instanceof TextView) {
|
|
||||||
((TextView) v).setTextColor(list.get(position));
|
|
||||||
}
|
|
||||||
return v;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
|
||||||
|
|
||||||
colorSpinner.setAdapter(adapter);
|
|
||||||
|
|
||||||
colorSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
|
|
||||||
View v = parent.getChildAt(0);
|
|
||||||
if(v instanceof TextView) {
|
|
||||||
((TextView) v).setTextColor(list.get(position));
|
|
||||||
}
|
|
||||||
colorSpinner.invalidate();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNothingSelected(AdapterView<?> parent) {
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
colorSpinner.setSelection(selection);
|
|
||||||
bld.setPositiveButton(R.string .default_buttons_yes, new DialogInterface.OnClickListener() {
|
bld.setPositiveButton(R.string .default_buttons_yes, new DialogInterface.OnClickListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -1168,6 +1097,8 @@ public class OsMoGroupsActivity extends OsmandExpandableListActivity implements
|
||||||
bld.show();
|
bld.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class NonDirectionDrawable extends Drawable {
|
class NonDirectionDrawable extends Drawable {
|
||||||
Paint paintRouteDirection;
|
Paint paintRouteDirection;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue