Poi dialog design. Work in progress
This commit is contained in:
parent
c9c3dc706c
commit
28385c95c8
25 changed files with 929 additions and 274 deletions
|
@ -8,7 +8,6 @@ apply plugin: 'com.android.application'
|
|||
// APP_EDITION - date stamp of builds
|
||||
// APP_FEATURES - features +play_market +gps_status -parking_plugin -blackberry -free_version -amazon
|
||||
|
||||
|
||||
// 1. To be done Filter fonts
|
||||
// <unzip src="OsmAndCore_android.aar" dest=".">
|
||||
// <patternset>
|
||||
|
@ -39,7 +38,7 @@ android {
|
|||
}
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 9
|
||||
minSdkVersion 14
|
||||
targetSdkVersion 21
|
||||
|
||||
versionCode System.getenv("APK_NUMBER_VERSION") ? System.getenv("APK_NUMBER_VERSION").toInteger() : versionCode
|
||||
|
@ -209,13 +208,13 @@ task collectRoutingResources(type: Sync) {
|
|||
}
|
||||
|
||||
task collectMiscResources(type: Copy) {
|
||||
into "src/net/osmand/osm"
|
||||
from("../../resources/obf_creation") {
|
||||
include "rendering_types.xml"
|
||||
}
|
||||
from("../../resources/poi") {
|
||||
include "poi_types.xml"
|
||||
}
|
||||
into "src/net/osmand/osm"
|
||||
from("../../resources/obf_creation") {
|
||||
include "rendering_types.xml"
|
||||
}
|
||||
from("../../resources/poi") {
|
||||
include "poi_types.xml"
|
||||
}
|
||||
}
|
||||
|
||||
task collectRenderingStylesResources(type: Sync) {
|
||||
|
@ -303,6 +302,7 @@ dependencies {
|
|||
compile project(path: ":OsmAnd-java", configuration: "android")
|
||||
compile project(":eclipse-compile:design")
|
||||
compile project(":cardview")
|
||||
compile project(":recyclerview")
|
||||
compile fileTree(
|
||||
dir: "libs",
|
||||
include: ["*.jar"],
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<android.support.design.widget.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="@style/OsmandLightTheme.DakrActionbar">
|
||||
android:theme="@style/OsmandLightTheme.DarkActionbar">
|
||||
|
||||
<!-- TODO change theme -->
|
||||
<android.support.v7.widget.Toolbar
|
||||
|
@ -19,52 +19,58 @@
|
|||
android:layout_height="@dimen/dashboard_map_toolbar"
|
||||
app:contentInsetLeft="72dp"
|
||||
app:contentInsetStart="72dp"
|
||||
android:theme="@style/OsmandLightTheme.DakrActionbar"/>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="72dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginTop="16dp"
|
||||
app:layout_scrollFlags="scroll">
|
||||
|
||||
<EditText
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="Name"
|
||||
android:text="@string/lorem_ipsum"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
app:layout_scrollFlags="scroll"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="72dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
app:layout_scrollFlags="scroll">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:layout_marginLeft="72dp"
|
||||
android:layout_marginRight="16dp"
|
||||
android:layout_marginTop="16dp">
|
||||
|
||||
<EditText
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableRight="@drawable/quickaction_arrow_down"
|
||||
android:hint="Name"
|
||||
android:text="@string/lorem_ipsum"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginLeft="72dp"
|
||||
app:layout_scrollFlags="scroll">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_weight="1">
|
||||
|
||||
<EditText
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableRight="@drawable/ic_action_arrow_drop_down"
|
||||
android:hint="POI Type"
|
||||
android:text="@string/lorem_ipsum"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/onlineDocumentationButton"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:background="@null"
|
||||
android:src="@android:drawable/ic_menu_help"/>
|
||||
android:src="@drawable/ic_action_help"/>
|
||||
</LinearLayout>
|
||||
|
||||
<android.support.design.widget.TabLayout
|
||||
|
@ -72,7 +78,9 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/color_white"
|
||||
app:tabIndicatorColor="@color/osmand_orange"/>
|
||||
app:tabIndicatorColor="@color/osmand_orange"
|
||||
app:tabSelectedTextColor="@color/osmand_orange"
|
||||
app:tabTextColor="@android:color/darker_gray"/>
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
|
||||
<android.support.v4.view.ViewPager
|
||||
|
|
|
@ -1,7 +1,49 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#00F">
|
||||
<android.support.v4.widget.NestedScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/dashboard_background">
|
||||
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/editTagsList"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:saveEnabled="false"/>
|
||||
|
||||
<include layout="@layout/poi_tag_list_item"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/addTagButton"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Add tag"/>
|
||||
|
||||
<android.support.v7.widget.CardView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="Added tags"/>
|
||||
|
||||
<android.support.v7.widget.RecyclerView
|
||||
android:id="@+id/added_tags_recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
||||
</android.support.v7.widget.CardView>
|
||||
</LinearLayout>
|
||||
</android.support.v4.widget.NestedScrollView>
|
||||
|
|
|
@ -1,7 +1,124 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#0F0">
|
||||
<android.support.v4.widget.NestedScrollView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/dashboard_background">
|
||||
|
||||
</LinearLayout>
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/openHoursTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:text="Open hours"
|
||||
android:textColor="@color/color_black"/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/contactInfoTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/openHoursTextView"
|
||||
android:layout_marginLeft="16dp"
|
||||
android:text="Contact info"
|
||||
android:textColor="@color/color_black"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/streetImageView"
|
||||
style="@style/edit_poi_imageview_style"
|
||||
android:layout_below="@id/contactInfoTextView"
|
||||
tools:src="@drawable/ic_action_street_name"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/streetEditText"
|
||||
style="@style/create_poi_text_field"
|
||||
android:layout_below="@id/contactInfoTextView"
|
||||
android:hint="Street"
|
||||
android:inputType="text"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/houseNumberImageView"
|
||||
style="@style/edit_poi_imageview_style"
|
||||
android:layout_below="@id/streetEditText"
|
||||
tools:src="@drawable/ic_action_building_number"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/houseNumberEditText"
|
||||
style="@style/create_poi_text_field"
|
||||
android:layout_below="@id/streetEditText"
|
||||
android:hint="35"
|
||||
android:inputType="text"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/phoneImageView"
|
||||
style="@style/edit_poi_imageview_style"
|
||||
android:layout_below="@id/houseNumberEditText"
|
||||
tools:src="@drawable/ic_action_call_dark"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/phoneEditText"
|
||||
style="@style/create_poi_text_field"
|
||||
android:layout_below="@id/houseNumberEditText"
|
||||
android:hint="Phone"
|
||||
android:inputType="phone"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/webSiteImageView"
|
||||
style="@style/edit_poi_imageview_style"
|
||||
android:layout_below="@id/phoneEditText"
|
||||
tools:src="@drawable/ic_world_globe_dark"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/webSiteEditText"
|
||||
style="@style/create_poi_text_field"
|
||||
android:layout_below="@id/phoneEditText"
|
||||
android:hint="Web site"
|
||||
android:inputType="textUri"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/descriptionImageView"
|
||||
style="@style/edit_poi_imageview_style"
|
||||
android:layout_below="@id/webSiteEditText"
|
||||
tools:src="@drawable/ic_action_description"/>
|
||||
|
||||
<EditText
|
||||
android:id="@+id/descriptionEditText"
|
||||
style="@style/create_poi_text_field"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_below="@id/webSiteEditText"
|
||||
android:hint="Description"
|
||||
android:inputType="textMultiLine"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/buttonDivider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_below="@id/descriptionEditText"
|
||||
android:background="@color/divider_color"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/saveButton"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_below="@id/buttonDivider"
|
||||
tools:text="Save"
|
||||
android:textColor="@color/dashboard_general_button_text_light"/>
|
||||
|
||||
<Button
|
||||
android:id="@+id/cancelButton"
|
||||
style="?android:attr/borderlessButtonStyle"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/buttonDivider"
|
||||
android:layout_toLeftOf="@id/saveButton"
|
||||
android:text="Cancel"
|
||||
android:textColor="@color/dashboard_general_button_text_light"/>
|
||||
|
||||
</RelativeLayout>
|
||||
</android.support.v4.widget.NestedScrollView>
|
|
@ -46,6 +46,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
layout="@layout/dashboard_over_map" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fragmentContainer"
|
||||
android:layout_width="match_parent"
|
||||
|
|
56
OsmAnd/res/layout/poi_tag_list_item.xml
Normal file
56
OsmAnd/res/layout/poi_tag_list_item.xml
Normal file
|
@ -0,0 +1,56 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tagEditText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="Tag"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<android.support.design.widget.TextInputLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1">
|
||||
|
||||
<EditText
|
||||
android:id="@+id/valueEditText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:hint="Value"/>
|
||||
|
||||
</android.support.design.widget.TextInputLayout>
|
||||
|
||||
<ImageButton
|
||||
android:id="@+id/deleteItemImageButton"
|
||||
style="@style/Widget.AppCompat.Button.Borderless"
|
||||
android:layout_width="48dp"
|
||||
android:layout_height="48dp"
|
||||
android:layout_gravity="bottom"
|
||||
android:src="@drawable/ic_action_close_dark"/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/buttonDivider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_below="@id/descriptionEditText"
|
||||
android:background="@color/divider_color"/>
|
||||
</LinearLayout>
|
|
@ -151,4 +151,7 @@
|
|||
<color name="spinner_list_background_light">#eeeeee</color>
|
||||
<color name="spinner_list_background_dark">#303030</color>
|
||||
|
||||
<color name="inactive_iteme_orange">#ffc87f</color>
|
||||
<color name="osmand_orange_dark">#e68200</color>
|
||||
<color name="divider_color">#ccc</color>
|
||||
</resources>
|
|
@ -1,31 +1,32 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<style name="Dialog_Fullscreen" parent="android:Theme">
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowIsTranslucent">true</item>
|
||||
<item name="android:windowBackground">@color/color_transparent</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:backgroundDimEnabled">false</item>
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<style name="Dialog_Fullscreen" parent="android:Theme">
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowIsTranslucent">true</item>
|
||||
<item name="android:windowBackground">@color/color_transparent</item>
|
||||
<item name="android:windowContentOverlay">@null</item>
|
||||
<item name="android:backgroundDimEnabled">false</item>
|
||||
</style>
|
||||
|
||||
|
||||
<style name="OsmandListView" parent="@android:style/Widget.ListView">
|
||||
</style>
|
||||
|
||||
|
||||
<!-- Dashboard styles -->
|
||||
<style name="DashboardSubHeader">
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:layout_height">fill_parent</item>
|
||||
<style name="DashboardSubHeader">
|
||||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:layout_height">fill_parent</item>
|
||||
<item name="android:paddingBottom">@dimen/subHeaderPadding</item>
|
||||
<item name="android:gravity">center_vertical</item>
|
||||
<item name="android:textSize">@dimen/default_desc_text_size</item>
|
||||
<item name="typeface">@string/font_roboto_medium</item>
|
||||
<item name="android:textColor">?attr/dashboard_subheader_text_color</item>
|
||||
<item name="android:layout_marginLeft">@dimen/subHeaderMarginLeft</item>
|
||||
<item name="typeface">@string/font_roboto_medium</item>
|
||||
<item name="android:textColor">?attr/dashboard_subheader_text_color</item>
|
||||
<item name="android:layout_marginLeft">@dimen/subHeaderMarginLeft</item>
|
||||
</style>
|
||||
|
||||
<style name="DashboardGeneralButton">
|
||||
<style name="DashboardGeneralButton">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:gravity">center_vertical|right</item>
|
||||
<item name="android:layout_height">@dimen/showAllButtonHeight</item>
|
||||
|
@ -34,7 +35,7 @@
|
|||
<item name="typeface">@string/font_roboto_medium</item>
|
||||
<item name="android:textColor">?attr/dashboard_general_button_text_color</item>
|
||||
<item name="android:layout_marginRight">@dimen/showAllButtonMarginRight</item>
|
||||
<item name="android:background">?attr/dashboard_button</item>
|
||||
<item name="android:background">?attr/dashboard_button</item>
|
||||
</style>
|
||||
|
||||
<style name="DashboardSearchButton">
|
||||
|
@ -42,19 +43,19 @@
|
|||
<item name="android:layout_width">0dp</item>
|
||||
<item name="android:layout_height">match_parent</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
<item name="android:textColor">?android:textColorPrimary</item>
|
||||
<item name="android:textColor">?android:textColorPrimary</item>
|
||||
<item name="android:textSize">@dimen/default_sub_text_size</item>
|
||||
<item name="android:gravity">bottom|center_horizontal</item>
|
||||
<item name="android:paddingBottom">@dimen/dashSearchPaddingBot</item>
|
||||
<item name="android:background">?attr/dashboard_button</item>
|
||||
<item name="android:gravity">bottom|center_horizontal</item>
|
||||
<item name="android:paddingBottom">@dimen/dashSearchPaddingBot</item>
|
||||
<item name="android:background">?attr/dashboard_button</item>
|
||||
</style>
|
||||
|
||||
<!-- Osmand themes styles -->
|
||||
<style name="OsmandLightTheme" parent="Theme.AppCompat.Light">
|
||||
<item name="list_divider">@color/list_divider_dark</item>
|
||||
<!-- Osmand themes styles -->
|
||||
<style name="OsmandLightTheme" parent="Theme.AppCompat.Light">
|
||||
<item name="list_divider">@color/list_divider_dark</item>
|
||||
<item name="expandable_category_color">?android:attr/colorBackground</item>
|
||||
<item name="bottomToolBarColor">@color/tool_bar_color_light</item>
|
||||
<item name="downloadButtonBackground">@drawable/download_light</item>
|
||||
<item name="downloadButtonBackground">@drawable/download_light</item>
|
||||
<item name="pstsTabBackground">@color/actionbar_light_color</item>
|
||||
<item name="pstsUnderlineColor">@color/actionbar_light_color</item>
|
||||
<item name="pstsIndicatorColor">@color/color_white</item>
|
||||
|
@ -65,41 +66,51 @@
|
|||
<item name="actionBarStyle">@style/Widget.Styled.ActionBarLight</item>
|
||||
<item name="bg_color">@color/bg_color_light</item>
|
||||
<item name="bg_card">@drawable/bg_card_light</item>
|
||||
<item name="dashboard_divider">@color/dashboard_divider_light</item>
|
||||
<item name="dashboard_button">@drawable/dashboard_button_light</item>
|
||||
<item name="dashboard_divider">@color/dashboard_divider_light</item>
|
||||
<item name="dashboard_button">@drawable/dashboard_button_light</item>
|
||||
<item name="search_background">@color/search_background_dark</item>
|
||||
<item name="actionModeCloseDrawable">@drawable/ic_action_mode_back</item>
|
||||
<item name="actionModeStyle">@style/WhiteActionMode</item>
|
||||
<item name="actionMenuTextColor">@color/color_white</item>
|
||||
<item name="switch_ex_background">@drawable/switch_ex_background_light</item>
|
||||
<item name="switch_ex_text_color">@color/switch_ex_button_text_light</item>
|
||||
<item name="bg_plugin_logo_disabled">@drawable/bg_plugin_logo_disabled_light</item>
|
||||
<item name="plugin_details_install_header_bg">@color/plugin_details_install_header_bg_light</item>
|
||||
<item name="expandable_list_item_background">@drawable/expandable_list_item_background_light</item>
|
||||
<item name="expandable_list_background">@color/list_item_light</item>
|
||||
<item name="size_progress_bar">@drawable/size_progressbar_light</item>
|
||||
<item name="dash_parking_bg">@drawable/dash_parking_light</item>
|
||||
<item name="osmo_header_background">@color/osmo_header_light</item>
|
||||
<item name="dashboard_subheader_text_color">@color/dashboard_subheader_text_light</item>
|
||||
<item name="dashboard_general_button_text_color">@color/dashboard_general_button_text_light</item>
|
||||
<item name="switch_ex_background">@drawable/switch_ex_background_light</item>
|
||||
<item name="switch_ex_text_color">@color/switch_ex_button_text_light</item>
|
||||
<item name="bg_plugin_logo_disabled">@drawable/bg_plugin_logo_disabled_light</item>
|
||||
<item name="plugin_details_install_header_bg">
|
||||
@color/plugin_details_install_header_bg_light
|
||||
</item>
|
||||
<item name="expandable_list_item_background">
|
||||
@drawable/expandable_list_item_background_light
|
||||
</item>
|
||||
<item name="expandable_list_background">@color/list_item_light</item>
|
||||
<item name="size_progress_bar">@drawable/size_progressbar_light</item>
|
||||
<item name="dash_parking_bg">@drawable/dash_parking_light</item>
|
||||
<item name="osmo_header_background">@color/osmo_header_light</item>
|
||||
<item name="dashboard_subheader_text_color">@color/dashboard_subheader_text_light</item>
|
||||
<item name="dashboard_general_button_text_color">
|
||||
@color/dashboard_general_button_text_light
|
||||
</item>
|
||||
<item name="android:listChoiceIndicatorMultiple">@drawable/check_light</item>
|
||||
<item name="android:textColorPrimary">@color/color_black</item>
|
||||
<item name="spinnerItemTextColor">@color/color_black</item>
|
||||
<item name="spinnerListBackground">@color/spinner_list_background_light</item>
|
||||
<item name="colorButtonNormal">@color/color_white</item>
|
||||
<item name="spinnerListBackground">@color/spinner_list_background_light</item>
|
||||
<item name="colorButtonNormal">@color/color_white</item>
|
||||
|
||||
<item name="android:actionModeBackground">@color/actionbar_light_color</item>
|
||||
<item name="colorPrimary">@color/osmand_orange</item>
|
||||
<item name="colorPrimaryDark">@color/osmand_orange_dark</item>
|
||||
<!--<item name="colorAccent">@color/</item>-->
|
||||
|
||||
<item name="android:actionModeBackground">@color/actionbar_light_color</item>
|
||||
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBarLight</item>
|
||||
<item name="android:actionModeCloseDrawable">@drawable/ic_action_mode_back</item>
|
||||
<item name="android:actionModeStyle">@style/WhiteActionMode</item>
|
||||
<item name="android:actionMenuTextColor">@color/color_white</item>
|
||||
</style>
|
||||
|
||||
<style name="OsmandDarkTheme" parent="Theme.AppCompat">
|
||||
<item name="list_divider">@color/list_divider_light</item>
|
||||
</style>
|
||||
|
||||
<style name="OsmandDarkTheme" parent="Theme.AppCompat">
|
||||
<item name="list_divider">@color/list_divider_light</item>
|
||||
<item name="expandable_category_color">?android:attr/colorBackground</item>
|
||||
<item name="bottomToolBarColor">@color/tool_bar_color_dark</item>
|
||||
<item name="downloadButtonBackground">@drawable/download_dark</item>
|
||||
<item name="downloadButtonBackground">@drawable/download_dark</item>
|
||||
<item name="pstsTabBackground">@color/actionbar_dark_color</item>
|
||||
<item name="pstsUnderlineColor">@color/actionbar_dark_color</item>
|
||||
<item name="pstsIndicatorColor">@color/actionbar_light_color</item>
|
||||
|
@ -107,34 +118,37 @@
|
|||
<item name="btn_flat_bg">@drawable/btn_flat_night</item>
|
||||
<item name="actionModeBackground">@color/actionbar_dark_color</item>
|
||||
<item name="actionBarStyle">@style/Widget.Styled.ActionBarDark</item>
|
||||
<item name="bg_color">@color/bg_color_dark</item>
|
||||
<item name="bg_card">@drawable/bg_card_dark</item>
|
||||
<item name="dashboard_divider">@color/dashboard_divider_dark</item>
|
||||
<item name="dashboard_button">@drawable/dashboard_button_dark</item>
|
||||
<item name="search_background">@color/color_white</item>
|
||||
<item name="switch_ex_background">@drawable/switch_ex_background_dark</item>
|
||||
<item name="switch_ex_text_color">@color/switch_ex_button_text_dark</item>
|
||||
<item name="bg_plugin_logo_disabled">@drawable/bg_plugin_logo_disabled_dark</item>
|
||||
<item name="plugin_details_install_header_bg">@color/plugin_details_install_header_bg_dark</item>
|
||||
<item name="expandable_list_item_background">@drawable/expandable_list_item_background_dark</item>
|
||||
<item name="expandable_list_background">@color/list_item_dark</item>
|
||||
<item name="size_progress_bar">@drawable/size_progressbar_dark</item>
|
||||
<item name="dash_parking_bg">@drawable/dash_parking_dark</item>
|
||||
<item name="osmo_header_background">@color/osmo_header_dark</item>
|
||||
<item name="dashboard_subheader_text_color">@color/dashboard_subheader_text_dark</item>
|
||||
<item name="dashboard_general_button_text_color">@color/dashboard_general_button_text_dark</item>
|
||||
<item name="android:listChoiceIndicatorMultiple">@drawable/check_dark</item>
|
||||
<item name="android:textColorPrimary">@color/color_white</item>
|
||||
<item name="spinnerItemTextColor">@color/color_white</item>
|
||||
<item name="spinnerListBackground">@color/spinner_list_background_dark</item>
|
||||
<item name="colorButtonNormal">@color/color_white</item>
|
||||
<item name="bg_color">@color/bg_color_dark</item>
|
||||
<item name="bg_card">@drawable/bg_card_dark</item>
|
||||
<item name="dashboard_divider">@color/dashboard_divider_dark</item>
|
||||
<item name="dashboard_button">@drawable/dashboard_button_dark</item>
|
||||
<item name="search_background">@color/color_white</item>
|
||||
<item name="switch_ex_background">@drawable/switch_ex_background_dark</item>
|
||||
<item name="switch_ex_text_color">@color/switch_ex_button_text_dark</item>
|
||||
<item name="bg_plugin_logo_disabled">@drawable/bg_plugin_logo_disabled_dark</item>
|
||||
<item name="plugin_details_install_header_bg">@color/plugin_details_install_header_bg_dark
|
||||
</item>
|
||||
<item name="expandable_list_item_background">
|
||||
@drawable/expandable_list_item_background_dark
|
||||
</item>
|
||||
<item name="expandable_list_background">@color/list_item_dark</item>
|
||||
<item name="size_progress_bar">@drawable/size_progressbar_dark</item>
|
||||
<item name="dash_parking_bg">@drawable/dash_parking_dark</item>
|
||||
<item name="osmo_header_background">@color/osmo_header_dark</item>
|
||||
<item name="dashboard_subheader_text_color">@color/dashboard_subheader_text_dark</item>
|
||||
<item name="dashboard_general_button_text_color">@color/dashboard_general_button_text_dark
|
||||
</item>
|
||||
<item name="android:listChoiceIndicatorMultiple">@drawable/check_dark</item>
|
||||
<item name="android:textColorPrimary">@color/color_white</item>
|
||||
<item name="spinnerItemTextColor">@color/color_white</item>
|
||||
<item name="spinnerListBackground">@color/spinner_list_background_dark</item>
|
||||
<item name="colorButtonNormal">@color/color_white</item>
|
||||
|
||||
<item name="android:actionModeBackground">@color/actionbar_dark_color</item>
|
||||
<item name="android:actionModeBackground">@color/actionbar_dark_color</item>
|
||||
<item name="android:actionBarStyle">@style/Widget.Styled.ActionBarDark</item>
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
<!-- Standard action bar override -->
|
||||
<style name="Widget.Styled.ActionBarDark" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
|
||||
<item name="background">@color/actionbar_dark_color</item>
|
||||
|
@ -144,63 +158,86 @@
|
|||
<style name="Widget.Styled.ActionBarLight" parent="Widget.AppCompat.Light.ActionBar.Solid">
|
||||
<item name="background">@color/actionbar_light_color</item>
|
||||
<item name="android:background">@color/actionbar_light_color</item>
|
||||
<item name="titleTextStyle">@style/Widget.Styled.LightActionBarHeader</item>
|
||||
<item name="subtitleTextStyle">@style/Widget.Styled.LightActionBarHeader</item>
|
||||
<item name="actionBarWidgetTheme">@style/Theme.AppCompat</item>
|
||||
|
||||
<item name="android:titleTextStyle">@style/Widget.Styled.LightActionBarHeader</item>
|
||||
<item name="titleTextStyle">@style/Widget.Styled.LightActionBarHeader</item>
|
||||
<item name="subtitleTextStyle">@style/Widget.Styled.LightActionBarHeader</item>
|
||||
<item name="actionBarWidgetTheme">@style/Theme.AppCompat</item>
|
||||
|
||||
<item name="android:titleTextStyle">@style/Widget.Styled.LightActionBarHeader</item>
|
||||
<item name="android:subtitleTextStyle">@style/Widget.Styled.LightActionBarHeader</item>
|
||||
<item name="android:actionBarWidgetTheme">@style/Theme.AppCompat</item>
|
||||
<item name="android:actionBarWidgetTheme">@style/Theme.AppCompat</item>
|
||||
</style>
|
||||
|
||||
<style name="Widget.Styled.LightActionBarHeader" parent="@android:style/TextAppearance">
|
||||
<item name="android:textColor">@color/color_white</item>
|
||||
</style>
|
||||
|
||||
<style name="WhiteActionMode" parent="@style/Widget.AppCompat.ActionMode">
|
||||
<item name="titleTextStyle">@style/WhiteActionModeTitleTextStyle</item>
|
||||
<item name="android:titleTextStyle">@style/WhiteActionModeTitleTextStyle</item>
|
||||
</style>
|
||||
<style name="WhiteActionMode" parent="@style/Widget.AppCompat.ActionMode">
|
||||
<item name="titleTextStyle">@style/WhiteActionModeTitleTextStyle</item>
|
||||
<item name="android:titleTextStyle">@style/WhiteActionModeTitleTextStyle</item>
|
||||
</style>
|
||||
|
||||
<style name="WhiteActionModeTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionMode.Title">
|
||||
<item name="android:textColor">@color/color_white</item>
|
||||
</style>
|
||||
|
||||
<!-- Dialog popup -->
|
||||
<style name="Animations" />
|
||||
<!-- PopDownMenu -->
|
||||
<style name="Animations.PopDownMenu" />
|
||||
|
||||
<style name="Animations.PopDownMenu.Left">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_topleft_to_bottomright</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_bottomright_to_topleft</item>
|
||||
</style>
|
||||
|
||||
<style name="Animations.PopDownMenu.Right">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_topright_to_bottomleft</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_bottomleft_to_topright</item>
|
||||
</style>
|
||||
|
||||
<style name="Animations.PopDownMenu.Center">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_top</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_bottom</item>
|
||||
</style>
|
||||
|
||||
<!-- PopUpMenu -->
|
||||
<style name="Animations.PopUpMenu" />
|
||||
|
||||
<style name="Animations.PopUpMenu.Left">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_bottomleft_to_topright</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_topright_to_bottomleft</item>
|
||||
</style>
|
||||
|
||||
<style name="Animations.PopUpMenu.Right">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_bottomright_to_topleft</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_topleft_to_bottomright</item>
|
||||
</style>
|
||||
|
||||
<style name="Animations.PopUpMenu.Center">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_bottom</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_top</item>
|
||||
</style>
|
||||
<style name="WhiteActionModeTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionMode.Title">
|
||||
<item name="android:textColor">@color/color_white</item>
|
||||
</style>
|
||||
|
||||
<style name="OsmandLightTheme.DarkActionbar">
|
||||
<item name="android:textColorPrimary">@color/color_white</item>
|
||||
<item name="android:textColorSecondary">@color/inactive_iteme_orange</item>
|
||||
<item name="android:textColorHint">@color/inactive_iteme_orange</item>
|
||||
<!--<item name="actionMenuTextColor">@color/color_white</item>-->
|
||||
</style>
|
||||
|
||||
<!-- Dialog popup -->
|
||||
<style name="Animations"/>
|
||||
<!-- PopDownMenu -->
|
||||
<style name="Animations.PopDownMenu"/>
|
||||
|
||||
<style name="Animations.PopDownMenu.Left">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_topleft_to_bottomright</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_bottomright_to_topleft</item>
|
||||
</style>
|
||||
|
||||
<style name="Animations.PopDownMenu.Right">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_topright_to_bottomleft</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_bottomleft_to_topright</item>
|
||||
</style>
|
||||
|
||||
<style name="Animations.PopDownMenu.Center">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_top</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_bottom</item>
|
||||
</style>
|
||||
|
||||
<!-- PopUpMenu -->
|
||||
<style name="Animations.PopUpMenu"/>
|
||||
|
||||
<style name="Animations.PopUpMenu.Left">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_bottomleft_to_topright</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_topright_to_bottomleft</item>
|
||||
</style>
|
||||
|
||||
<style name="Animations.PopUpMenu.Right">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_bottomright_to_topleft</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_topleft_to_bottomright</item>
|
||||
</style>
|
||||
|
||||
<style name="Animations.PopUpMenu.Center">
|
||||
<item name="@android:windowEnterAnimation">@anim/grow_from_bottom</item>
|
||||
<item name="@android:windowExitAnimation">@anim/shrink_from_top</item>
|
||||
</style>
|
||||
|
||||
<style name="create_poi_text_field">
|
||||
<item name="android:layout_marginTop">8dp</item>
|
||||
<item name="android:layout_marginRight">16dp</item>
|
||||
<item name="android:layout_marginLeft">72dp</item>
|
||||
<item name="android:layout_width">match_parent</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_weight">1</item>
|
||||
</style>
|
||||
|
||||
<style name="edit_poi_imageview_style">
|
||||
<item name="android:layout_marginTop">16dp</item>
|
||||
<item name="android:layout_marginLeft">16dp</item>
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
|
|
@ -7,6 +7,7 @@ import android.content.Intent;
|
|||
import android.net.Uri;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
@ -215,6 +216,7 @@ public class GeoIntentActivity extends OsmandListActivity {
|
|||
* @return
|
||||
*/
|
||||
private MyService extract(final Uri uri) {
|
||||
Log.v(this.getClass().toString(), "extract(" + "uri=" + uri + ")");
|
||||
GeoPointParserUtil.GeoParsedPoint p = GeoPointParserUtil.parse(uri.toString());
|
||||
if (p.isGeoPoint()) {
|
||||
if (p.getLabel() != null) {
|
||||
|
|
160
OsmAnd/src/net/osmand/plus/osmedit/AdvancedDataFragment.java
Normal file
160
OsmAnd/src/net/osmand/plus/osmedit/AdvancedDataFragment.java
Normal file
|
@ -0,0 +1,160 @@
|
|||
package net.osmand.plus.osmedit;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.view.ViewPager;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageButton;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.osmedit.EditPoiFragment.Tag;
|
||||
|
||||
public class AdvancedDataFragment extends Fragment {
|
||||
private static final String TAG = "AdvancedDataFragment";
|
||||
|
||||
private TagAdapterLinearLayoutHack mAdapter;
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
final View view = inflater.inflate(R.layout.fragment_edit_poi_advanced, container, false);
|
||||
final EditText tagEditText = (EditText) view.findViewById(R.id.tagEditText);
|
||||
final EditText valueEditText = (EditText) view.findViewById(R.id.valueEditText);
|
||||
|
||||
ImageButton deleteItemImageButton =
|
||||
(ImageButton) view.findViewById(R.id.deleteItemImageButton);
|
||||
deleteItemImageButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
tagEditText.setText(null);
|
||||
tagEditText.clearFocus();
|
||||
valueEditText.setText(null);
|
||||
valueEditText.clearFocus();
|
||||
}
|
||||
});
|
||||
LinearLayout editTagsLineaLayout =
|
||||
(LinearLayout) view.findViewById(R.id.editTagsList);
|
||||
Log.v(TAG, "arguments=" + savedInstanceState + "; ll=" + editTagsLineaLayout);
|
||||
Log.v(TAG, "not restored");
|
||||
mAdapter = new TagAdapterLinearLayoutHack(editTagsLineaLayout, getData());
|
||||
// setListViewHeightBasedOnChildren(editTagsLineaLayout);
|
||||
Button addTagButton = (Button) view.findViewById(R.id.addTagButton);
|
||||
addTagButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
String tag = String.valueOf(tagEditText.getText());
|
||||
String value = String.valueOf(valueEditText.getText());
|
||||
if (!TextUtils.isEmpty(tag) && !TextUtils.isEmpty(value)) {
|
||||
mAdapter.addTag(new Tag(tag, value));
|
||||
// setListViewHeightBasedOnChildren(editTagsLineaLayout);
|
||||
tagEditText.setText(null);
|
||||
tagEditText.clearFocus();
|
||||
valueEditText.setText(null);
|
||||
valueEditText.clearFocus();
|
||||
}
|
||||
}
|
||||
});
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
// TODO read more about lifecycle
|
||||
mAdapter.updateViews();
|
||||
getEditPoiFragment().addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int i, float v, int i1) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int i) {
|
||||
if (i == 1) mAdapter.updateViews();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int i) {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
Log.v(TAG, "onSaveInstanceState(" + "outState=" + outState + ")");
|
||||
super.onSaveInstanceState(outState);
|
||||
}
|
||||
|
||||
public static class TagAdapterLinearLayoutHack {
|
||||
private final LinearLayout linearLayout;
|
||||
private final EditPoiFragment.EditPoiData editPoiData;
|
||||
|
||||
public TagAdapterLinearLayoutHack(LinearLayout linearLayout,
|
||||
EditPoiFragment.EditPoiData editPoiData) {
|
||||
this.linearLayout = linearLayout;
|
||||
this.editPoiData = editPoiData;
|
||||
}
|
||||
|
||||
public void addTag(Tag tag) {
|
||||
View view = getView(tag);
|
||||
editPoiData.tags.add(tag);
|
||||
EditText valueEditText = (EditText) view.findViewById(R.id.valueEditText);
|
||||
Log.v(TAG, "valueEditText text=" + valueEditText.getText());
|
||||
linearLayout.addView(view);
|
||||
}
|
||||
|
||||
public void updateViews() {
|
||||
linearLayout.removeAllViews();
|
||||
Log.v(TAG, "editPoiData.tags=" + editPoiData.tags);
|
||||
for (Tag tag : editPoiData.tags) {
|
||||
Log.v(TAG, "tag=" + tag);
|
||||
View view = getView(tag);
|
||||
EditText valueEditText = (EditText) view.findViewById(R.id.valueEditText);
|
||||
Log.v(TAG, "valueEditText text=" + valueEditText.getText());
|
||||
linearLayout.addView(view);
|
||||
}
|
||||
}
|
||||
|
||||
private View getView(final Tag tag) {
|
||||
Log.v(TAG, "getView(" + "tag=" + tag + ")");
|
||||
final View convertView = LayoutInflater.from(linearLayout.getContext())
|
||||
.inflate(R.layout.poi_tag_list_item, null, false);
|
||||
EditText tagEditText = (EditText) convertView.findViewById(R.id.tagEditText);
|
||||
EditText valueEditText = (EditText) convertView.findViewById(R.id.valueEditText);
|
||||
ImageButton deleteItemImageButton =
|
||||
(ImageButton) convertView.findViewById(R.id.deleteItemImageButton);
|
||||
tagEditText.setText(tag.tag);
|
||||
valueEditText.setText(tag.value);
|
||||
deleteItemImageButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
linearLayout.removeView((View) v.getParent());
|
||||
editPoiData.tags.remove(tag);
|
||||
}
|
||||
});
|
||||
Log.v(TAG, "convertView=" + convertView);
|
||||
return convertView;
|
||||
}
|
||||
}
|
||||
|
||||
private EditPoiFragment getEditPoiFragment() {
|
||||
return (EditPoiFragment) getParentFragment();
|
||||
}
|
||||
|
||||
private EditPoiFragment.EditPoiData getData() {
|
||||
return getEditPoiFragment().getEditPoiData();
|
||||
}
|
||||
}
|
|
@ -1,10 +1,11 @@
|
|||
package net.osmand.plus.osmedit;
|
||||
|
||||
import android.annotation.TargetApi;
|
||||
import android.graphics.Color;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.net.Uri;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.design.widget.TabLayout;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
|
@ -15,18 +16,60 @@ import android.support.v7.widget.Toolbar;
|
|||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageButton;
|
||||
|
||||
import net.osmand.data.Amenity;
|
||||
import net.osmand.osm.edit.Node;
|
||||
import net.osmand.plus.R;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.LinkedHashSet;
|
||||
|
||||
public class EditPoiFragment extends Fragment {
|
||||
public static final String TAG = "EditPoiFragment";
|
||||
|
||||
// XXX this fragment wont work on older devices
|
||||
private static final String KEY_AMENITY_NODE = "amenity_node";
|
||||
private static final String KEY_AMENITY = "amenity";
|
||||
private static final String TAGS_LIST = "tags_list";
|
||||
|
||||
private final EditPoiData editPoiData = new EditPoiData();
|
||||
private ViewPager viewPager;
|
||||
|
||||
@Override
|
||||
public void onAttach(Activity activity) {
|
||||
super.onAttach(activity);
|
||||
// poiTypes = ((OsmandApplication) activity.getApplication()).getPoiTypes();
|
||||
// allTranslatedSubTypes = poiTypes.getAllTranslatedNames();
|
||||
// OsmandSettings settings = ((OsmandApplication) activity.getApplication()).getSettings();
|
||||
// editPoiData.isLocalEdit = true;
|
||||
// if (settings.OFFLINE_EDITION.get() || !settings.isInternetConnectionAvailable(true)) {
|
||||
// openstreetmapUtil = new OpenstreetmapLocalUtil(plugin, activity);
|
||||
// openstreetmapUtilToLoad = openstreetmapUtil;
|
||||
// } else if(!settings.isInternetConnectionAvailable(true)) {
|
||||
// openstreetmapUtil = new OpenstreetmapLocalUtil(plugin, activity);
|
||||
// openstreetmapUtilToLoad = new OpenstreetmapRemoteUtil(activity);
|
||||
// } else {
|
||||
// editPoiData.isLocalEdit = false;
|
||||
// openstreetmapUtil = new OpenstreetmapRemoteUtil(activity);
|
||||
// openstreetmapUtilToLoad = openstreetmapUtil;
|
||||
// }
|
||||
|
||||
// editPoiData.node = (Node) getArguments().getSerializable(KEY_AMENITY_NODE);
|
||||
// editPoiData.tags = new LinkedHashSet<>();
|
||||
}
|
||||
|
||||
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
if (savedInstanceState != null) {
|
||||
editPoiData.tags = (LinkedHashSet<Tag>) savedInstanceState.getSerializable(TAGS_LIST);
|
||||
} else {
|
||||
editPoiData.tags = new LinkedHashSet<>();
|
||||
}
|
||||
|
||||
View view = inflater.inflate(R.layout.fragment_edit_poi, container, false);
|
||||
|
||||
Toolbar toolbar = (Toolbar) view.findViewById(R.id.toolbar);
|
||||
toolbar.setTitle(R.string.poi_create_title);
|
||||
toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
|
||||
|
@ -38,14 +81,15 @@ public class EditPoiFragment extends Fragment {
|
|||
fragmentManager.popBackStack();
|
||||
}
|
||||
});
|
||||
final ViewPager viewPager = (ViewPager) view.findViewById(R.id.viewpager);
|
||||
|
||||
viewPager = (ViewPager) view.findViewById(R.id.viewpager);
|
||||
MyAdapter pagerAdapter = new MyAdapter(getChildFragmentManager());
|
||||
viewPager.setAdapter(pagerAdapter);
|
||||
|
||||
final TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tab_layout);
|
||||
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
|
||||
|
||||
// Hack due to problems with design support library v22.2.1
|
||||
// Hack due to bug in design support library v22.2.1
|
||||
// https://code.google.com/p/android/issues/detail?id=180462
|
||||
// TODO remove in new version
|
||||
if (ViewCompat.isLaidOut(tabLayout)) {
|
||||
|
@ -60,13 +104,47 @@ public class EditPoiFragment extends Fragment {
|
|||
}
|
||||
});
|
||||
}
|
||||
int orangeColor = getResources().getColor(R.color.osmand_orange);
|
||||
int grayColor = getResources().getColor(android.R.color.darker_gray);
|
||||
tabLayout.setTabTextColors(grayColor, orangeColor);
|
||||
|
||||
ImageButton onlineDocumentationButton =
|
||||
(ImageButton) view.findViewById(R.id.onlineDocumentationButton);
|
||||
onlineDocumentationButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
getActivity().startActivity(new Intent(Intent.ACTION_VIEW,
|
||||
Uri.parse("https://wiki.openstreetmap.org/wiki/Map_Features")));
|
||||
}
|
||||
});
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
outState.putSerializable(TAGS_LIST, editPoiData.tags);
|
||||
super.onSaveInstanceState(outState);
|
||||
}
|
||||
|
||||
public void addOnPageChangeListener(ViewPager.OnPageChangeListener listener) {
|
||||
viewPager.addOnPageChangeListener(listener);
|
||||
}
|
||||
|
||||
public EditPoiFragment createInstance(Node node, Amenity amenity) {
|
||||
EditPoiFragment editPoiFragment = new EditPoiFragment();
|
||||
Bundle args = new Bundle();
|
||||
args.putSerializable(KEY_AMENITY_NODE, node);
|
||||
args.putSerializable(KEY_AMENITY, amenity);
|
||||
editPoiFragment.setArguments(args);
|
||||
return editPoiFragment;
|
||||
}
|
||||
|
||||
public EditPoiData getEditPoiData() {
|
||||
return editPoiData;
|
||||
}
|
||||
|
||||
public void send() {
|
||||
// TODO implement saving
|
||||
}
|
||||
|
||||
public static class MyAdapter extends FragmentPagerAdapter {
|
||||
public MyAdapter(FragmentManager fm) {
|
||||
super(fm);
|
||||
|
@ -101,19 +179,43 @@ public class EditPoiFragment extends Fragment {
|
|||
}
|
||||
}
|
||||
|
||||
public static class NormalDataFragment extends Fragment {
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
return inflater.inflate(R.layout.fragment_edit_poi_normal, container, false);
|
||||
}
|
||||
public static class EditPoiData {
|
||||
// public boolean isLocalEdit;
|
||||
// public Node node;
|
||||
public LinkedHashSet<Tag> tags;
|
||||
}
|
||||
|
||||
public static class AdvancedDataFragment extends Fragment {
|
||||
@Nullable
|
||||
public static class Tag implements Serializable {
|
||||
public String tag;
|
||||
public String value;
|
||||
|
||||
public Tag(String tag, String value) {
|
||||
this.tag = tag;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
return inflater.inflate(R.layout.fragment_edit_poi_advanced, container, false);
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
Tag tag1 = (Tag) o;
|
||||
|
||||
return tag.equals(tag1.tag);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return tag.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Tag{" +
|
||||
"tag='" + tag + '\'' +
|
||||
", value='" + value + '\'' +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
101
OsmAnd/src/net/osmand/plus/osmedit/NormalDataFragment.java
Normal file
101
OsmAnd/src/net/osmand/plus/osmedit/NormalDataFragment.java
Normal file
|
@ -0,0 +1,101 @@
|
|||
package net.osmand.plus.osmedit;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.text.TextUtils;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import net.osmand.plus.IconsCache;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.activities.MapActivity;
|
||||
import net.osmand.plus.osmedit.EditPoiFragment.Tag;
|
||||
|
||||
public class NormalDataFragment extends Fragment {
|
||||
@Nullable
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
||||
IconsCache iconsCache = ((MapActivity) getActivity()).getMyApplication().getIconsCache();
|
||||
View view = inflater.inflate(R.layout.fragment_edit_poi_normal, container, false);
|
||||
|
||||
ImageView streetImageView = (ImageView) view.findViewById(R.id.streetImageView);
|
||||
streetImageView.setImageDrawable(iconsCache.getContentIcon(R.drawable.ic_action_street_name));
|
||||
ImageView houseNumberImageView = (ImageView) view.findViewById(R.id.houseNumberImageView);
|
||||
houseNumberImageView.setImageDrawable(iconsCache.getContentIcon(R.drawable.ic_action_building_number));
|
||||
ImageView phoneImageView = (ImageView) view.findViewById(R.id.phoneImageView);
|
||||
phoneImageView.setImageDrawable(iconsCache.getContentIcon(R.drawable.ic_action_call_dark));
|
||||
ImageView webSiteImageView = (ImageView) view.findViewById(R.id.webSiteImageView);
|
||||
webSiteImageView.setImageDrawable(iconsCache.getContentIcon(R.drawable.ic_world_globe_dark));
|
||||
ImageView descriptionImageView = (ImageView) view.findViewById(R.id.descriptionImageView);
|
||||
descriptionImageView.setImageDrawable(iconsCache.getContentIcon(R.drawable.ic_action_description));
|
||||
|
||||
// TODO replace with constants
|
||||
final TextView streetEditText = (TextView) view.findViewById(R.id.streetEditText);
|
||||
streetEditText.setOnFocusChangeListener(new MyOnFocusChangeListener(getData(), "addr:street"));
|
||||
final TextView houseNumberEditText = (TextView) view.findViewById(R.id.houseNumberEditText);
|
||||
houseNumberEditText.setOnFocusChangeListener(new MyOnFocusChangeListener(getData(), "addr:housenumber"));
|
||||
final TextView phoneEditText = (TextView) view.findViewById(R.id.phoneEditText);
|
||||
phoneEditText.setOnFocusChangeListener(new MyOnFocusChangeListener(getData(), "phone"));
|
||||
final TextView webSiteEditText = (TextView) view.findViewById(R.id.webSiteEditText);
|
||||
webSiteEditText.setOnFocusChangeListener(new MyOnFocusChangeListener(getData(), "website"));
|
||||
final TextView descriptionEditText = (TextView) view.findViewById(R.id.descriptionEditText);
|
||||
descriptionEditText.setOnFocusChangeListener(new MyOnFocusChangeListener(getData(), "description"));
|
||||
|
||||
Button saveButton = (Button) view.findViewById(R.id.saveButton);
|
||||
int saveButtonTextId = //getData().isLocalEdit ? R.string.shared_string_save :
|
||||
R.string.default_buttons_commit;
|
||||
saveButton.setText(saveButtonTextId);
|
||||
saveButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
getEditPoiFragment().send();
|
||||
}
|
||||
});
|
||||
Button cancelButton = (Button) view.findViewById(R.id.cancelButton);
|
||||
cancelButton.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
|
||||
Fragment editPoiFragment = getParentFragment();
|
||||
fragmentManager.beginTransaction().remove(editPoiFragment).commit();
|
||||
fragmentManager.popBackStack();
|
||||
}
|
||||
});
|
||||
return view;
|
||||
}
|
||||
|
||||
private EditPoiFragment getEditPoiFragment() {
|
||||
return (EditPoiFragment) getParentFragment();
|
||||
}
|
||||
|
||||
private EditPoiFragment.EditPoiData getData() {
|
||||
return getEditPoiFragment().getEditPoiData();
|
||||
}
|
||||
|
||||
private static class MyOnFocusChangeListener implements View.OnFocusChangeListener {
|
||||
private EditPoiFragment.EditPoiData data;
|
||||
private String tagName;
|
||||
|
||||
public MyOnFocusChangeListener(EditPoiFragment.EditPoiData data, String tagName) {
|
||||
this.data = data;
|
||||
this.tagName = tagName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFocusChange(View v, boolean hasFocus) {
|
||||
String string = ((EditText) v).getText().toString();
|
||||
if (!TextUtils.isEmpty(string)) {
|
||||
Tag tag = new Tag(tagName, string);
|
||||
data.tags.remove(tag);
|
||||
data.tags.add(tag);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,16 +7,13 @@ import net.osmand.plus.OsmandApplication;
|
|||
import net.osmand.plus.OsmandSettings;
|
||||
import net.osmand.plus.R;
|
||||
import net.osmand.plus.Version;
|
||||
import net.osmand.util.Algorithms;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
import java.net.URLEncoder;
|
||||
|
||||
public class OsmBugsRemoteUtil implements OsmBugsUtil {
|
||||
|
@ -83,16 +80,16 @@ public class OsmBugsRemoteUtil implements OsmBugsUtil {
|
|||
}
|
||||
connection.setDoInput(true);
|
||||
if (requestMethod.equals("PUT") || requestMethod.equals("POST") || requestMethod.equals("DELETE")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
|
||||
// connection.setDoOutput(true);
|
||||
// connection.setRequestProperty("Content-type", "text/xml"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
// OutputStream out = connection.getOutputStream();
|
||||
// String requestBody = null;
|
||||
// if (requestBody != null) {
|
||||
// BufferedWriter bwr = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"), 1024); //$NON-NLS-1$
|
||||
// bwr.write(requestBody);
|
||||
// bwr.flush();
|
||||
// }
|
||||
// out.close();
|
||||
// connection.setDoOutput(true);
|
||||
// connection.setRequestProperty("Content-type", "text/xml"); //$NON-NLS-1$ //$NON-NLS-2$
|
||||
// OutputStream out = connection.getOutputStream();
|
||||
// String requestBody = null;
|
||||
// if (requestBody != null) {
|
||||
// BufferedWriter bwr = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"), 1024); //$NON-NLS-1$
|
||||
// bwr.write(requestBody);
|
||||
// bwr.flush();
|
||||
// }
|
||||
// out.close();
|
||||
}
|
||||
connection.connect();
|
||||
String msg = connection.getResponseMessage();
|
||||
|
|
|
@ -1,6 +1,19 @@
|
|||
package net.osmand.plus.osmedit;
|
||||
|
||||
import java.util.List;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.content.Intent;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.Toast;
|
||||
|
||||
import net.osmand.access.AccessibleToast;
|
||||
import net.osmand.data.Amenity;
|
||||
|
@ -19,64 +32,52 @@ import net.osmand.plus.myplaces.AvailableGPXFragment.GpxInfo;
|
|||
import net.osmand.plus.myplaces.FavoritesActivity;
|
||||
import net.osmand.plus.views.OsmandMapTileView;
|
||||
import net.osmand.util.Algorithms;
|
||||
import android.app.Activity;
|
||||
import android.app.AlertDialog;
|
||||
import android.app.AlertDialog.Builder;
|
||||
import android.content.Context;
|
||||
import android.content.DialogInterface;
|
||||
import android.content.DialogInterface.OnClickListener;
|
||||
import android.content.Intent;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.EditText;
|
||||
import android.widget.Spinner;
|
||||
import android.widget.Toast;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class OsmEditingPlugin extends OsmandPlugin {
|
||||
private static final String ID = "osm.editing";
|
||||
private OsmandSettings settings;
|
||||
private OsmandApplication app;
|
||||
OpenstreetmapsDbHelper dbpoi ;
|
||||
OsmBugsDbHelper dbbug ;
|
||||
OpenstreetmapsDbHelper dbpoi;
|
||||
OsmBugsDbHelper dbbug;
|
||||
|
||||
@Override
|
||||
public String getId() {
|
||||
return ID;
|
||||
}
|
||||
|
||||
|
||||
public OpenstreetmapsDbHelper getDBPOI() {
|
||||
if(dbpoi == null) {
|
||||
if (dbpoi == null) {
|
||||
dbpoi = new OpenstreetmapsDbHelper(app);
|
||||
}
|
||||
return dbpoi;
|
||||
}
|
||||
|
||||
|
||||
public OsmBugsDbHelper getDBBug() {
|
||||
if(dbbug == null) {
|
||||
if (dbbug == null) {
|
||||
dbbug = new OsmBugsDbHelper(app);
|
||||
}
|
||||
return dbbug;
|
||||
}
|
||||
|
||||
|
||||
public OsmEditingPlugin(OsmandApplication app) {
|
||||
this.app = app;
|
||||
settings = app.getSettings();
|
||||
}
|
||||
|
||||
|
||||
private OsmBugsLayer osmBugsLayer;
|
||||
private OsmEditsLayer osmEditsLayer;
|
||||
private EditingPOIDialogProvider poiActions;
|
||||
|
||||
|
||||
@Override
|
||||
public void updateLayers(OsmandMapTileView mapView, MapActivity activity) {
|
||||
if (isActive()) {
|
||||
if (osmBugsLayer == null) {
|
||||
registerLayers(activity);
|
||||
}
|
||||
if (!mapView.getLayers().contains(osmEditsLayer)) {
|
||||
if (!mapView.getLayers().contains(osmEditsLayer)) {
|
||||
activity.getMapView().addLayer(osmEditsLayer, 3.5f);
|
||||
}
|
||||
if (mapView.getLayers().contains(osmBugsLayer) != settings.SHOW_OSM_BUGS.get()) {
|
||||
|
@ -87,30 +88,30 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
if(osmBugsLayer != null) {
|
||||
if (osmBugsLayer != null) {
|
||||
mapView.removeLayer(osmBugsLayer);
|
||||
}
|
||||
if(osmEditsLayer != null) {
|
||||
if (osmEditsLayer != null) {
|
||||
mapView.removeLayer(osmEditsLayer);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void registerLayers(MapActivity activity){
|
||||
public void registerLayers(MapActivity activity) {
|
||||
osmBugsLayer = new OsmBugsLayer(activity, this);
|
||||
osmEditsLayer = new OsmEditsLayer(activity, this);
|
||||
}
|
||||
|
||||
public OsmEditsLayer getOsmEditsLayer(MapActivity activity){
|
||||
if(osmEditsLayer == null) {
|
||||
public OsmEditsLayer getOsmEditsLayer(MapActivity activity) {
|
||||
if (osmEditsLayer == null) {
|
||||
registerLayers(activity);
|
||||
}
|
||||
return osmEditsLayer;
|
||||
}
|
||||
|
||||
|
||||
public OsmBugsLayer getBugsLayer(MapActivity activity) {
|
||||
if(osmBugsLayer == null) {
|
||||
if (osmBugsLayer == null) {
|
||||
registerLayers(activity);
|
||||
}
|
||||
return osmBugsLayer;
|
||||
|
@ -123,30 +124,34 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
activity.addDialogProvider(getPoiActions(activity));
|
||||
activity.addDialogProvider(getBugsLayer(activity));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public Class<? extends Activity> getSettingsActivity() {
|
||||
return SettingsOsmEditingActivity.class;
|
||||
}
|
||||
|
||||
|
||||
public EditingPOIDialogProvider getPoiActions(MapActivity activity) {
|
||||
if (poiActions == null) {
|
||||
poiActions = new EditingPOIDialogProvider(activity, this);
|
||||
}
|
||||
return poiActions;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void registerMapContextMenuActions(final MapActivity mapActivity, final double latitude, final double longitude, ContextMenuAdapter adapter,
|
||||
final Object selectedObj) {
|
||||
final Object selectedObj) {
|
||||
OnContextMenuClick listener = new OnContextMenuClick() {
|
||||
@Override
|
||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int resId, int pos, boolean isChecked) {
|
||||
if (resId == R.string.context_menu_item_create_poi) {
|
||||
getPoiActions(mapActivity).showCreateDialog(latitude, longitude);
|
||||
//getPoiActions(mapActivity).showCreateDialog(latitude, longitude);
|
||||
mapActivity.getSupportFragmentManager().beginTransaction()
|
||||
.add(R.id.fragmentContainer, new EditPoiFragment(), EditPoiFragment.TAG)
|
||||
.addToBackStack(null)
|
||||
.commit();
|
||||
} else if (resId == R.string.context_menu_item_open_bug) {
|
||||
if(osmBugsLayer == null) {
|
||||
if (osmBugsLayer == null) {
|
||||
registerLayers(mapActivity);
|
||||
}
|
||||
osmBugsLayer.openBug(latitude, longitude);
|
||||
|
@ -158,7 +163,7 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
return true;
|
||||
}
|
||||
};
|
||||
if(selectedObj instanceof Amenity) {
|
||||
if (selectedObj instanceof Amenity) {
|
||||
adapter.item(R.string.poi_context_menu_modify).iconColor(R.drawable.ic_action_edit_dark).listen(listener).position(1).reg();
|
||||
adapter.item(R.string.poi_context_menu_delete).iconColor(R.drawable.ic_action_delete_dark).listen(listener).position(2).reg();
|
||||
} else {
|
||||
|
@ -169,7 +174,7 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
|
||||
@Override
|
||||
public void addMyPlacesTab(FavoritesActivity favoritesActivity, List<TabActivity.TabItem> mTabs, Intent intent) {
|
||||
if (getDBPOI().getOpenstreetmapPoints().size() > 0 || getDBBug().getOsmbugsPoints().size() > 0){
|
||||
if (getDBPOI().getOpenstreetmapPoints().size() > 0 || getDBBug().getOsmbugsPoints().size() > 0) {
|
||||
mTabs.add(favoritesActivity.getTabIndicator(R.string.osm_edits, OsmEditsFragment.class));
|
||||
if (intent != null && "OSM".equals(intent.getStringExtra("TAB"))) {
|
||||
app.getSettings().FAVORITES_TAB.set(R.string.osm_edits);
|
||||
|
@ -182,15 +187,15 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
adapter.item(R.string.layer_osm_bugs).selected(settings.SHOW_OSM_BUGS.get() ? 1 : 0)
|
||||
.iconColor(R.drawable.ic_action_bug_dark).listen(new OnContextMenuClick() {
|
||||
|
||||
@Override
|
||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
||||
if (itemId == R.string.layer_osm_bugs) {
|
||||
settings.SHOW_OSM_BUGS.set(isChecked);
|
||||
updateLayers(mapActivity.getMapView(), mapActivity);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}).position(16).reg();
|
||||
@Override
|
||||
public boolean onContextMenuClick(ArrayAdapter<?> adapter, int itemId, int pos, boolean isChecked) {
|
||||
if (itemId == R.string.layer_osm_bugs) {
|
||||
settings.SHOW_OSM_BUGS.set(isChecked);
|
||||
updateLayers(mapActivity.getMapView(), mapActivity);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}).position(16).reg();
|
||||
|
||||
}
|
||||
|
||||
|
@ -198,7 +203,7 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
public String getDescription() {
|
||||
return app.getString(R.string.osm_editing_plugin_description);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void contextMenuFragment(final Activity la, final Fragment fragment, final Object info, ContextMenuAdapter adapter) {
|
||||
if (fragment instanceof AvailableGPXFragment) {
|
||||
|
@ -214,7 +219,7 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
}).reg();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void optionsMenuFragment(final Activity activity, final Fragment fragment, ContextMenuAdapter optionsMenuAdapter) {
|
||||
if (fragment instanceof AvailableGPXFragment) {
|
||||
|
@ -240,7 +245,6 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public enum UploadVisibility implements IEnumWithResource {
|
||||
Public(R.string.gpxup_public),
|
||||
|
@ -252,53 +256,55 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
private UploadVisibility(int resourceId) {
|
||||
this.resourceId = resourceId;
|
||||
}
|
||||
|
||||
public String asURLparam() {
|
||||
return name().toLowerCase();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int stringResource() {
|
||||
return resourceId;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean sendGPXFiles(final Activity la, AvailableGPXFragment f, final GpxInfo... info){
|
||||
|
||||
public boolean sendGPXFiles(final Activity la, AvailableGPXFragment f, final GpxInfo... info) {
|
||||
String name = settings.USER_NAME.get();
|
||||
String pwd = settings.USER_PASSWORD.get();
|
||||
if(Algorithms.isEmpty(name) || Algorithms.isEmpty(pwd)){
|
||||
if (Algorithms.isEmpty(name) || Algorithms.isEmpty(pwd)) {
|
||||
AccessibleToast.makeText(la, R.string.validate_gpx_upload_name_pwd, Toast.LENGTH_LONG).show();
|
||||
return false;
|
||||
}
|
||||
Builder bldr = new AlertDialog.Builder(la);
|
||||
LayoutInflater inflater = (LayoutInflater)la.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
LayoutInflater inflater = (LayoutInflater) la.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
final View view = inflater.inflate(R.layout.send_gpx_osm, null);
|
||||
final EditText descr = (EditText) view.findViewById(R.id.memory_size);
|
||||
if(info.length > 0 && info[0].getFileName() != null) {
|
||||
if (info.length > 0 && info[0].getFileName() != null) {
|
||||
int dt = info[0].getFileName().indexOf('.');
|
||||
descr.setText(info[0].getFileName().substring(0, dt));
|
||||
}
|
||||
final EditText tags = (EditText) view.findViewById(R.id.TagsText);
|
||||
final Spinner visibility = ((Spinner)view.findViewById(R.id.Visibility));
|
||||
final EditText tags = (EditText) view.findViewById(R.id.TagsText);
|
||||
final Spinner visibility = ((Spinner) view.findViewById(R.id.Visibility));
|
||||
EnumAdapter<UploadVisibility> adapter = new EnumAdapter<UploadVisibility>(la, android.R.layout.simple_spinner_item, UploadVisibility.values());
|
||||
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
|
||||
visibility.setAdapter(adapter);
|
||||
visibility.setSelection(0);
|
||||
|
||||
|
||||
bldr.setView(view);
|
||||
bldr.setNegativeButton(R.string.shared_string_no, null);
|
||||
bldr.setPositiveButton(R.string.shared_string_yes, new DialogInterface.OnClickListener() {
|
||||
|
||||
|
||||
@Override
|
||||
public void onClick(DialogInterface dialog, int which) {
|
||||
new UploadGPXFilesTask(la, descr.getText().toString(), tags.getText().toString(),
|
||||
(UploadVisibility) visibility.getItemAtPosition(visibility.getSelectedItemPosition())
|
||||
).execute(info);
|
||||
new UploadGPXFilesTask(la, descr.getText().toString(), tags.getText().toString(),
|
||||
(UploadVisibility) visibility.getItemAtPosition(visibility.getSelectedItemPosition())
|
||||
).execute(info);
|
||||
}
|
||||
});
|
||||
bldr.show();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return app.getString(R.string.osm_settings);
|
||||
|
@ -308,13 +314,13 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
public int getLogoResourceId() {
|
||||
return R.drawable.ic_action_bug_dark;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public int getAssetResourceName() {
|
||||
return R.drawable.osm_editing;
|
||||
}
|
||||
|
||||
public static String getEditName(OsmPoint point){
|
||||
public static String getEditName(OsmPoint point) {
|
||||
String prefix = getPrefix(point);
|
||||
if (point.getGroup() == OsmPoint.Group.POI) {
|
||||
return prefix + " (" + ((OpenstreetmapPoint) point).getSubtype() + ") " + ((OpenstreetmapPoint) point).getName();
|
||||
|
@ -329,5 +335,5 @@ public class OsmEditingPlugin extends OsmandPlugin {
|
|||
return (osmPoint.getGroup() == OsmPoint.Group.POI ? "POI " : "Bug ") + " id: " + osmPoint.getId();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
0
cardview/build.gradle
Normal file → Executable file
0
cardview/build.gradle
Normal file → Executable file
0
cardview/libs/android-support-v7-cardview.jar
Normal file → Executable file
0
cardview/libs/android-support-v7-cardview.jar
Normal file → Executable file
0
cardview/src/main/AndroidManifest.xml
Normal file → Executable file
0
cardview/src/main/AndroidManifest.xml
Normal file → Executable file
0
cardview/src/main/res/values/attrs.xml
Normal file → Executable file
0
cardview/src/main/res/values/attrs.xml
Normal file → Executable file
0
cardview/src/main/res/values/colors.xml
Normal file → Executable file
0
cardview/src/main/res/values/colors.xml
Normal file → Executable file
0
cardview/src/main/res/values/dimens.xml
Normal file → Executable file
0
cardview/src/main/res/values/dimens.xml
Normal file → Executable file
0
cardview/src/main/res/values/styles.xml
Normal file → Executable file
0
cardview/src/main/res/values/styles.xml
Normal file → Executable file
0
cardview/src/main/resources/.readme
Normal file → Executable file
0
cardview/src/main/resources/.readme
Normal file → Executable file
1
recyclerview/.gitignore
vendored
Normal file
1
recyclerview/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
/build
|
23
recyclerview/build.gradle
Normal file
23
recyclerview/build.gradle
Normal file
|
@ -0,0 +1,23 @@
|
|||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
compileSdkVersion 21
|
||||
buildToolsVersion "21.1.2"
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion 7
|
||||
targetSdkVersion 21
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile project(":eclipse-compile:appcompat")
|
||||
}
|
|
@ -1,8 +1,7 @@
|
|||
include ':OsmAnd-java', ':eclipse-compile:design', ':cardview'
|
||||
include ':OsmAnd-java', ':eclipse-compile:design', ':recyclerview', ":cardview"
|
||||
include ':OsmAnd'
|
||||
include ':eclipse-compile:appcompat'
|
||||
include ':plugins:OsmAnd-AddressPlugin'
|
||||
include ':plugins:Osmand-ParkingPlugin'
|
||||
include ':plugins:Osmand-Sherpafy'
|
||||
include ':plugins:Osmand-SRTMPlugin'
|
||||
include ':cardview'
|
||||
|
|
Loading…
Reference in a new issue