small refactor

This commit is contained in:
veliymolfar 2020-05-27 17:40:26 +03:00
parent 6be3458ad3
commit 2151028d2d
5 changed files with 43 additions and 44 deletions

View file

@ -16,16 +16,18 @@
app:title="@string/edit_online_source"
osmand:titleTextColor="?android:textColorPrimary">
<ImageView
<ImageButton
android:id="@+id/toolbar_action"
android:layout_width="@dimen/standard_icon_size"
android:layout_height="@dimen/standard_icon_size"
style="@style/Widget.AppCompat.Toolbar.Button.Navigation"
android:layout_width="@dimen/acceptable_touch_radius"
android:layout_height="@dimen/acceptable_touch_radius"
android:layout_gravity="end"
android:layout_marginStart="@dimen/content_padding"
android:layout_marginLeft="@dimen/content_padding"
android:layout_marginEnd="@dimen/content_padding"
android:layout_marginRight="@dimen/content_padding"
tools:src="@drawable/ic_action_help" />
android:layout_marginStart="@dimen/list_item_button_padding"
android:layout_marginLeft="@dimen/list_item_button_padding"
android:layout_marginEnd="@dimen/list_item_button_padding"
android:layout_marginRight="@dimen/list_item_button_padding"
android:contentDescription="@string/back_to_map"
app:srcCompat="@drawable/ic_action_help" />
</androidx.appcompat.widget.Toolbar>
@ -94,7 +96,7 @@
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/bg_color"
android:background="?attr/list_background_color"
android:minHeight="@dimen/dialog_button_ex_height"
android:paddingStart="@dimen/content_padding"
android:paddingTop="@dimen/content_padding_small"

View file

@ -41,7 +41,6 @@ import net.osmand.AndroidUtils;
import net.osmand.Collator;
import net.osmand.IndexConstants;
import net.osmand.OsmAndCollator;
import net.osmand.ResultMatcher;
import net.osmand.map.ITileSource;
import net.osmand.map.TileSourceManager;
import net.osmand.plus.ContextMenuAdapter;
@ -63,7 +62,7 @@ import net.osmand.plus.download.DownloadIndexesThread.DownloadEvents;
import net.osmand.plus.download.IndexItem;
import net.osmand.plus.helpers.FileNameTranslationHelper;
import net.osmand.plus.inapp.InAppPurchaseHelper;
import net.osmand.plus.mapsource.EditMapSourceDialogFragment;
import net.osmand.plus.mapsource.EditMapSourceDialogFragment.OnMapSourceUpdateListener;
import net.osmand.plus.rastermaps.OsmandRasterMapsPlugin;
import net.osmand.plus.resources.IncrementalChangesManager;
import net.osmand.util.Algorithms;
@ -82,7 +81,8 @@ import java.util.Set;
import java.util.regex.Pattern;
public class LocalIndexesFragment extends OsmandExpandableListFragment implements DownloadEvents, EditMapSourceDialogFragment.OnMapSourceUpdateListener {
public class LocalIndexesFragment extends OsmandExpandableListFragment implements DownloadEvents,
OnMapSourceUpdateListener {
public static final Pattern ILLEGAL_FILE_NAME_CHARACTERS = Pattern.compile("[?:\"*|/<>]");
public static final Pattern ILLEGAL_PATH_NAME_CHARACTERS = Pattern.compile("[?:\"*|<>]");

View file

@ -14,6 +14,7 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
@ -24,6 +25,7 @@ import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.widget.Toolbar;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@ -52,12 +54,11 @@ import org.apache.commons.logging.Log;
import java.io.File;
import java.util.List;
import static net.osmand.plus.download.ui.LocalIndexesFragment.ILLEGAL_FILE_NAME_CHARACTERS;
import static net.osmand.plus.download.ui.LocalIndexesFragment.renameSQLiteFile;
public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment
implements OnZoomSetListener, OnExpireValueSetListener, OnMercatorSelectedListener,
OnTileStorageFormatSelectedListener, View.OnClickListener {
OnTileStorageFormatSelectedListener {
public static final String TAG = EditMapSourceDialogFragment.class.getName();
static final int EXPIRE_TIME_NEVER = -1;
@ -118,10 +119,10 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment
elliptic = savedInstanceState.getBoolean(ELLIPTIC_KEY);
sqliteDB = savedInstanceState.getBoolean(SQLITE_DB_KEY);
}
View root = UiUtilities.getMaterialInflater(getContext(), nightMode).inflate(R.layout.fragment_edit_map_source, container, false);
View root = UiUtilities.getMaterialInflater(app, nightMode).inflate(R.layout.fragment_edit_map_source, container, false);
Toolbar toolbar = root.findViewById(R.id.toolbar);
ImageView iconHelp = root.findViewById(R.id.toolbar_action);
Drawable closeDrawable = app.getUIUtilities().getIcon(R.drawable.ic_arrow_back,
ImageButton iconHelp = root.findViewById(R.id.toolbar_action);
Drawable closeDrawable = app.getUIUtilities().getIcon(AndroidUtils.getNavigationIconResId(app),
nightMode ? R.color.active_buttons_and_links_text_dark : R.color.active_buttons_and_links_text_light);
Drawable helpDrawable = app.getUIUtilities().getIcon(R.drawable.ic_action_help,
nightMode ? R.color.active_buttons_and_links_text_dark : R.color.active_buttons_and_links_text_light);
@ -141,8 +142,8 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment
}
});
int boxStrokeColor = nightMode
? getResources().getColor(R.color.app_bar_color_light)
: getResources().getColor(R.color.active_buttons_and_links_bg_pressed_dark);
? ContextCompat.getColor(app, R.color.app_bar_color_light)
: ContextCompat.getColor(app, R.color.active_buttons_and_links_bg_pressed_dark);
TextInputLayout nameInputLayout = root.findViewById(R.id.name_input_layout);
nameInputLayout.setBoxStrokeColor(boxStrokeColor);
nameEditText = root.findViewById(R.id.name_edit_text);
@ -154,7 +155,13 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment
contentContainer = root.findViewById(R.id.content_container);
saveBtn = root.findViewById(R.id.save_button);
saveBtnTitle = root.findViewById(R.id.save_button_title);
saveBtn.setOnClickListener(this);
saveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
saveTemplate();
dismiss();
}
});
template = new TileSourceManager.TileSourceTemplate("", "", PNG_EXT, MAX_ZOOM, MIN_ZOOM, TILE_SIZE, BIT_DENSITY, AVG_SIZE);
if (editedLayerName != null) {
if (!editedLayerName.endsWith(IndexConstants.SQLITE_EXT)) {
@ -222,20 +229,16 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment
@Override
public void onZoomSet(int min, int max) {
if (isAdded()) {
minZoom = min;
maxZoom = max;
updateDescription(ConfigurationItem.ZOOM_LEVELS);
}
}
@Override
public void onExpireValueSet(int expireValue) {
if (isAdded()) {
expireTimeMinutes = expireValue;
updateDescription(ConfigurationItem.EXPIRE_TIME);
}
}
@Override
public void onMercatorSelected(boolean elliptic) {
@ -253,14 +256,6 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment
}
}
@Override
public void onClick(View view) {
if (view.getId() == R.id.save_button) {
saveTemplate();
dismiss();
}
}
private TextWatcher getTextWatcher() {
return new TextWatcher() {
@Override
@ -390,7 +385,7 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment
@Override
public void onClick(View view) {
FragmentManager fm = getFragmentManager();
if (fm != null) {
if (fm != null && !fm.isStateSaved()) {
switch (item) {
case ZOOM_LEVELS:
InputZoomLevelsBottomSheet.showInstance(
@ -415,7 +410,7 @@ public class EditMapSourceDialogFragment extends BaseOsmAndDialogFragment
}
private void addConfigurationItems(ConfigurationItem... items) {
LayoutInflater inflater = UiUtilities.getMaterialInflater(getContext(), nightMode);
LayoutInflater inflater = UiUtilities.getMaterialInflater(app, nightMode);
for (ConfigurationItem item : items) {
View view = inflater.inflate(R.layout.list_item_ui_customization, null);
((ImageView) view.findViewById(R.id.icon)).setImageDrawable(app.getUIUtilities().getIcon(item.iconRes, nightMode));

View file

@ -7,7 +7,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@ -15,6 +15,7 @@ import com.google.android.material.textfield.TextInputEditText;
import com.google.android.material.textfield.TextInputLayout;
import net.osmand.PlatformUtil;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import net.osmand.plus.base.MenuBottomSheetDialogFragment;
@ -45,6 +46,7 @@ public class ExpireTimeBottomSheet extends MenuBottomSheetDialogFragment {
@Override
public void createMenuItems(Bundle savedInstanceState) {
OsmandApplication app = requiredMyApplication();
if (savedInstanceState != null) {
expireValue = savedInstanceState.getInt(EXPIRE_VALUE_KEY, EXPIRE_TIME_NEVER);
}
@ -58,8 +60,8 @@ public class ExpireTimeBottomSheet extends MenuBottomSheetDialogFragment {
editText.setText(String.valueOf(expireValue));
}
int boxStrokeColor = nightMode
? getResources().getColor(R.color.app_bar_color_light)
: getResources().getColor(R.color.active_buttons_and_links_bg_pressed_dark);
? ContextCompat.getColor(app, R.color.app_bar_color_light)
: ContextCompat.getColor(app, R.color.active_buttons_and_links_bg_pressed_dark);
TextInputLayout textInputLayout = inputValueLayout.findViewById(R.id.value_input_layout);
textInputLayout.setBoxStrokeColor(boxStrokeColor);
final SimpleBottomSheetItem editTextItem = (SimpleBottomSheetItem) new SimpleBottomSheetItem.Builder()
@ -70,13 +72,12 @@ public class ExpireTimeBottomSheet extends MenuBottomSheetDialogFragment {
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putLong(EXPIRE_VALUE_KEY, getExpireValue());
outState.putInt(EXPIRE_VALUE_KEY, getExpireValue());
super.onSaveInstanceState(outState);
}
@Override
protected void onRightBottomButtonClick() {
super.onRightBottomButtonClick();
Fragment fragment = getTargetFragment();
if (fragment instanceof OnExpireValueSetListener) {
((OnExpireValueSetListener) fragment).onExpireValueSet(getExpireValue());

View file

@ -17,6 +17,7 @@ import androidx.fragment.app.FragmentManager;
import com.google.android.material.slider.Slider;
import net.osmand.PlatformUtil;
import net.osmand.plus.OsmandApplication;
import net.osmand.plus.R;
import net.osmand.plus.UiUtilities;
import net.osmand.plus.base.MenuBottomSheetDialogFragment;
@ -38,7 +39,7 @@ public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment {
private static final String SLIDER_DESCR_RES_KEY = "slider_descr_key";
private static final String DIALOG_DESCR_RES_KEY = "dialog_descr_key";
private static final int SLIDER_FROM = 1;
private static final int SLIDER_TO = 20;
private static final int SLIDER_TO = 22;
@StringRes
private int sliderDescrRes;
@StringRes
@ -63,13 +64,14 @@ public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment {
@Override
public void createMenuItems(Bundle savedInstanceState) {
OsmandApplication app = requiredMyApplication();
if (savedInstanceState != null) {
minZoom = savedInstanceState.getInt(MIN_ZOOM_KEY);
maxZoom = savedInstanceState.getInt(MAX_ZOOM_KEY);
dialogDescrRes = savedInstanceState.getInt(DIALOG_DESCR_RES_KEY);
sliderDescrRes = savedInstanceState.getInt(SLIDER_DESCR_RES_KEY);
}
LayoutInflater inflater = UiUtilities.getInflater(requiredMyApplication(), nightMode);
LayoutInflater inflater = UiUtilities.getInflater(app, nightMode);
TitleItem titleItem = new TitleItem(getString(R.string.shared_string_zoom_levels));
items.add(titleItem);
final View sliderView = inflater.inflate(R.layout.zoom_levels_with_descr, null);
@ -88,8 +90,8 @@ public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment {
final TextView maxZoomValue = sliderView.findViewById(R.id.zoom_value_max);
maxZoomValue.setText(String.valueOf(maxZoom));
Slider slider = sliderView.findViewById(R.id.zoom_slider);
int colorProfileRes = requiredMyApplication().getSettings().getApplicationMode().getIconColorInfo().getColor(nightMode);
int colorProfile = ContextCompat.getColor(requiredMyApplication(), colorProfileRes);
int colorProfileRes = app.getSettings().getApplicationMode().getIconColorInfo().getColor(nightMode);
int colorProfile = ContextCompat.getColor(app, colorProfileRes);
UiUtilities.setupSlider(slider, nightMode, colorProfile, true);
slider.setValueFrom(SLIDER_FROM);
slider.setValueTo(SLIDER_TO);
@ -136,7 +138,6 @@ public class InputZoomLevelsBottomSheet extends MenuBottomSheetDialogFragment {
@Override
protected void onRightBottomButtonClick() {
super.onRightBottomButtonClick();
Fragment fragment = getTargetFragment();
if (fragment instanceof OnZoomSetListener) {
((OnZoomSetListener) fragment).onZoomSet(minZoom, maxZoom);