import screen initial commit
This commit is contained in:
parent
4b2f0cf266
commit
4d57312c47
6 changed files with 398 additions and 0 deletions
59
OsmAnd/res/layout/button_with_icon_and_subtext.xml
Normal file
59
OsmAnd/res/layout/button_with_icon_and_subtext.xml
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/selectableItemBackground"
|
||||||
|
android:minHeight="@dimen/dialog_button_ex_height">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/button_container"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_gravity="center"
|
||||||
|
android:gravity="center_vertical"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<ImageView
|
||||||
|
android:id="@+id/icon"
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="@dimen/content_padding_small"
|
||||||
|
android:layout_marginLeft="@dimen/content_padding_small"
|
||||||
|
tools:src="@drawable/ic_action_explore" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_margin="@dimen/content_padding_small"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/text"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="1"
|
||||||
|
android:textColor="?android:textColorPrimary"
|
||||||
|
android:textSize="@dimen/default_desc_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium"
|
||||||
|
tools:text="Main text" />
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/sub_text"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:ellipsize="end"
|
||||||
|
android:maxLines="2"
|
||||||
|
android:textColor="?android:textColorSecondary"
|
||||||
|
android:textSize="@dimen/default_sub_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium"
|
||||||
|
tools:text="Long subtext about two lines" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</FrameLayout>
|
115
OsmAnd/res/layout/fragment_import.xml
Normal file
115
OsmAnd/res/layout/fragment_import.xml
Normal file
|
@ -0,0 +1,115 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/activity_background_basic"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/toolbar_height"
|
||||||
|
android:minHeight="@dimen/toolbar_height" />
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="@dimen/content_padding"
|
||||||
|
android:paddingTop="@dimen/list_header_settings_top_margin"
|
||||||
|
android:paddingEnd="@dimen/content_padding"
|
||||||
|
android:paddingBottom="@dimen/list_header_settings_top_margin"
|
||||||
|
android:text="@string/shared_string_import"
|
||||||
|
android:textColor="?attr/app_bar_primary_item_color"
|
||||||
|
android:textSize="@dimen/dialog_header_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/description"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/bg_color"
|
||||||
|
android:paddingStart="@dimen/content_padding"
|
||||||
|
android:paddingTop="@dimen/list_header_settings_top_margin"
|
||||||
|
android:paddingEnd="@dimen/content_padding"
|
||||||
|
android:paddingBottom="@dimen/list_header_settings_top_margin"
|
||||||
|
android:text="@string/select_data_to_import"
|
||||||
|
android:textColor="?android:textColorPrimary"
|
||||||
|
android:textSize="@dimen/default_list_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium" />
|
||||||
|
|
||||||
|
<include layout="@layout/list_item_divider" />
|
||||||
|
|
||||||
|
<ExpandableListView
|
||||||
|
android:id="@android:id/list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="?attr/expandable_list_background"
|
||||||
|
android:groupIndicator="@android:color/transparent" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:id="@+id/buttons_container"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/dialog_button_ex_height"
|
||||||
|
android:layout_gravity="bottom"
|
||||||
|
android:background="?attr/bg_color"
|
||||||
|
android:gravity="center"
|
||||||
|
android:orientation="horizontal"
|
||||||
|
android:paddingLeft="@dimen/content_padding"
|
||||||
|
android:paddingRight="@dimen/content_padding">
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1">
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/select_all_button"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="@drawable/dlg_btn_stroked_dark"
|
||||||
|
android:gravity="start"
|
||||||
|
android:paddingLeft="@dimen/content_padding_small"
|
||||||
|
android:paddingRight="@dimen/content_padding_small"
|
||||||
|
android:textSize="@dimen/default_desc_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium"
|
||||||
|
tools:text="Replace all" />
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="@dimen/content_padding"
|
||||||
|
android:layout_height="match_parent" />
|
||||||
|
|
||||||
|
<FrameLayout
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1">
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/continue_button"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/dlg_btn_primary"
|
||||||
|
android:gravity="end"
|
||||||
|
android:paddingLeft="@dimen/content_padding_small"
|
||||||
|
android:paddingRight="@dimen/content_padding_small"
|
||||||
|
android:textSize="@dimen/default_desc_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium"
|
||||||
|
tools:text="Continue" />
|
||||||
|
|
||||||
|
</FrameLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
81
OsmAnd/res/layout/fragment_import_duplicates.xml
Normal file
81
OsmAnd/res/layout/fragment_import_duplicates.xml
Normal file
|
@ -0,0 +1,81 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:osmand="http://schemas.android.com/apk/res-auto"
|
||||||
|
xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:background="?attr/activity_background_basic"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/colorPrimary"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<android.support.v7.widget.Toolbar
|
||||||
|
android:id="@+id/toolbar"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/toolbar_height"
|
||||||
|
android:minHeight="@dimen/toolbar_height" />
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/title"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:paddingStart="@dimen/content_padding"
|
||||||
|
android:paddingTop="@dimen/list_header_settings_top_margin"
|
||||||
|
android:paddingEnd="@dimen/content_padding"
|
||||||
|
android:paddingBottom="@dimen/list_header_settings_top_margin"
|
||||||
|
android:text="@string/import_duplicates_title"
|
||||||
|
android:textColor="?attr/app_bar_primary_item_color"
|
||||||
|
android:textSize="@dimen/dialog_header_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
<net.osmand.plus.widgets.TextViewEx
|
||||||
|
android:id="@+id/description"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/bg_color"
|
||||||
|
android:paddingStart="@dimen/content_padding"
|
||||||
|
android:paddingTop="@dimen/list_header_settings_top_margin"
|
||||||
|
android:paddingEnd="@dimen/content_padding"
|
||||||
|
android:paddingBottom="@dimen/list_header_settings_top_margin"
|
||||||
|
android:text="@string/import_duplicates_description"
|
||||||
|
android:textColor="?android:textColorPrimary"
|
||||||
|
android:textSize="@dimen/default_list_text_size"
|
||||||
|
osmand:typeface="@string/font_roboto_medium" />
|
||||||
|
|
||||||
|
<include layout="@layout/list_item_divider" />
|
||||||
|
|
||||||
|
<android.support.v7.widget.RecyclerView
|
||||||
|
android:id="@android:id/list"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="0dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="?attr/list_background_color" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:background="?attr/bg_color"
|
||||||
|
android:orientation="vertical"
|
||||||
|
android:padding="16dp">
|
||||||
|
|
||||||
|
<include
|
||||||
|
android:id="@+id/keep_both"
|
||||||
|
layout="@layout/button_with_icon_and_subtext" />
|
||||||
|
|
||||||
|
<View
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="@dimen/content_padding_small" />
|
||||||
|
|
||||||
|
<include
|
||||||
|
android:id="@+id/replace_all"
|
||||||
|
layout="@layout/button_with_icon_and_subtext" />
|
||||||
|
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
|
</LinearLayout>
|
|
@ -25,6 +25,9 @@
|
||||||
• Added correct transliteration into the map of Japan\n\n
|
• Added correct transliteration into the map of Japan\n\n
|
||||||
• Added Antarctica map\n\n
|
• Added Antarctica map\n\n
|
||||||
</string>
|
</string>
|
||||||
|
<string name="import_duplicates_description">OsmAnd already has elements with the same names as those imported.\n\nSelect an action.</string>
|
||||||
|
<string name="import_duplicates_title">Some items already exist</string>
|
||||||
|
<string name="select_data_to_import">Select the data to be imported.</string>
|
||||||
<string name="copy_coordinates">Copy coordinates</string>
|
<string name="copy_coordinates">Copy coordinates</string>
|
||||||
<string name="reset_to_default_category_button_promo">Reset to default will reset sort order to the default state after installation.</string>
|
<string name="reset_to_default_category_button_promo">Reset to default will reset sort order to the default state after installation.</string>
|
||||||
<string name="use_system_screen_timeout">Use system screen timeout</string>
|
<string name="use_system_screen_timeout">Use system screen timeout</string>
|
||||||
|
|
|
@ -0,0 +1,53 @@
|
||||||
|
package net.osmand.plus.settings;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.app.FragmentManager;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.FrameLayout;
|
||||||
|
|
||||||
|
import net.osmand.plus.R;
|
||||||
|
import net.osmand.plus.base.BaseOsmAndDialogFragment;
|
||||||
|
|
||||||
|
|
||||||
|
public class ImportDuplicatesFragment extends BaseOsmAndDialogFragment {
|
||||||
|
|
||||||
|
public static final String TAG = ImportSettingsFragment.class.getSimpleName();
|
||||||
|
|
||||||
|
private FrameLayout replaceAllBtn;
|
||||||
|
|
||||||
|
public static void showInstance(@NonNull FragmentManager fm) {
|
||||||
|
ImportDuplicatesFragment fragment = new ImportDuplicatesFragment();
|
||||||
|
fragment.show(fm, TAG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
View root = inflater.inflate(R.layout.fragment_import_duplicates, container, false);
|
||||||
|
setupToolbar((Toolbar) root.findViewById(R.id.toolbar));
|
||||||
|
replaceAllBtn = root.findViewById(R.id.replace_all);
|
||||||
|
|
||||||
|
|
||||||
|
return root;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupToolbar(Toolbar toolbar) {
|
||||||
|
toolbar.setNavigationIcon(getPaintedContentIcon(R.drawable.ic_arrow_back,
|
||||||
|
getSettings().isLightContent()
|
||||||
|
? getResources().getColor(R.color.active_buttons_and_links_text_light)
|
||||||
|
: getResources().getColor(R.color.active_buttons_and_links_text_dark)));
|
||||||
|
toolbar.setNavigationContentDescription(R.string.access_shared_string_navigate_up);
|
||||||
|
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,87 @@
|
||||||
|
package net.osmand.plus.settings;
|
||||||
|
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.annotation.NonNull;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v4.app.FragmentManager;
|
||||||
|
import android.support.v7.widget.Toolbar;
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.Button;
|
||||||
|
import android.widget.ExpandableListView;
|
||||||
|
import android.widget.ExpandableListView.OnGroupClickListener;
|
||||||
|
import android.widget.ExpandableListView.OnChildClickListener;
|
||||||
|
|
||||||
|
import net.osmand.plus.R;
|
||||||
|
import net.osmand.plus.SettingsHelper.SettingsItem;
|
||||||
|
import net.osmand.plus.base.BaseOsmAndDialogFragment;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class ImportSettingsFragment extends BaseOsmAndDialogFragment
|
||||||
|
implements OnChildClickListener, OnGroupClickListener, View.OnClickListener {
|
||||||
|
|
||||||
|
public static final String TAG = ImportSettingsFragment.class.getSimpleName();
|
||||||
|
|
||||||
|
private ExpandableListView listView;
|
||||||
|
|
||||||
|
private Button selectAllBtn;
|
||||||
|
|
||||||
|
private Button continueBtn;
|
||||||
|
|
||||||
|
private List<SettingsItem> settingsItems;
|
||||||
|
|
||||||
|
public static void showInstance(@NonNull FragmentManager fm, @NonNull List<SettingsItem> settingsItems) {
|
||||||
|
ImportSettingsFragment fragment = new ImportSettingsFragment();
|
||||||
|
fragment.setSettingsItems(settingsItems);
|
||||||
|
fragment.show(fm, TAG);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
@Override
|
||||||
|
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||||
|
View root = inflater.inflate(R.layout.fragment_import, container, false);
|
||||||
|
setupToolbar((Toolbar) root.findViewById(R.id.toolbar));
|
||||||
|
listView = root.findViewById(android.R.id.list);
|
||||||
|
|
||||||
|
return root;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onClick(View view) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onChildClick(ExpandableListView expandableListView, View view, int i, int i1, long l) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onGroupClick(ExpandableListView expandableListView, View view, int i, long l) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSettingsItems(List<SettingsItem> settingsItems) {
|
||||||
|
this.settingsItems = settingsItems;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupToolbar(Toolbar toolbar) {
|
||||||
|
toolbar.setNavigationIcon(getPaintedContentIcon(R.drawable.headline_close_button,
|
||||||
|
getSettings().isLightContent()
|
||||||
|
? getResources().getColor(R.color.active_buttons_and_links_text_light)
|
||||||
|
: getResources().getColor(R.color.active_buttons_and_links_text_dark)));
|
||||||
|
toolbar.setNavigationContentDescription(R.string.shared_string_close);
|
||||||
|
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(View v) {
|
||||||
|
dismiss();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isNightMode() {
|
||||||
|
return getSettings().isLightContent();
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in a new issue