mirror of
https://codeberg.org/OpenTracksApp/OpenTracks.git
synced 2026-10-16 15:53:07 +02:00
Migration to Androidx PreferenceCompat.
This commit is contained in:
@@ -19,12 +19,12 @@ package de.dennisguse.opentracks;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.speech.tts.TextToSpeech;
|
import android.speech.tts.TextToSpeech;
|
||||||
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Jimmy Shih
|
* @author Jimmy Shih
|
||||||
*/
|
*/
|
||||||
public abstract class AbstractActivity extends FragmentActivity {
|
public abstract class AbstractActivity extends AppCompatActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
|||||||
@@ -29,9 +29,8 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.AbsListView;
|
import android.widget.AbsListView;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.SearchView;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
@@ -208,10 +207,9 @@ public abstract class AbstractListActivity extends AbstractActivity implements C
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the track recording service connection. For stopping the current
|
* Gets the track recording service connection.
|
||||||
* recording if need to delete the current recording track.
|
* For stopping the current recording if need to delete the current recording track.
|
||||||
*/
|
*/
|
||||||
@NonNull
|
|
||||||
abstract protected TrackRecordingServiceConnection getTrackRecordingServiceConnection();
|
abstract protected TrackRecordingServiceConnection getTrackRecordingServiceConnection();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -31,13 +31,14 @@ import android.view.MenuItem;
|
|||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
import android.view.View.OnClickListener;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.ShareActionProvider;
|
|
||||||
import android.widget.TabHost;
|
import android.widget.TabHost;
|
||||||
import android.widget.TabHost.TabSpec;
|
import android.widget.TabHost.TabSpec;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.appcompat.widget.ShareActionProvider;
|
||||||
import androidx.core.app.ActivityCompat;
|
import androidx.core.app.ActivityCompat;
|
||||||
|
import androidx.core.view.MenuItemCompat;
|
||||||
import androidx.viewpager.widget.ViewPager;
|
import androidx.viewpager.widget.ViewPager;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.content.ContentProviderUtils;
|
import de.dennisguse.opentracks.content.ContentProviderUtils;
|
||||||
@@ -318,7 +319,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA
|
|||||||
insertPhotoMenuItem.setVisible(new Intent(MediaStore.ACTION_IMAGE_CAPTURE).resolveActivity(getPackageManager()) != null);
|
insertPhotoMenuItem.setVisible(new Intent(MediaStore.ACTION_IMAGE_CAPTURE).resolveActivity(getPackageManager()) != null);
|
||||||
|
|
||||||
shareMenuItem = menu.findItem(R.id.track_detail_share);
|
shareMenuItem = menu.findItem(R.id.track_detail_share);
|
||||||
ShareActionProvider shareActionProvider = (ShareActionProvider) shareMenuItem.getActionProvider();
|
ShareActionProvider shareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareMenuItem);
|
||||||
shareActionProvider.setShareIntent(IntentUtils.newShareFileIntent(this, new long[]{trackId}));
|
shareActionProvider.setShareIntent(IntentUtils.newShareFileIntent(this, new long[]{trackId}));
|
||||||
|
|
||||||
voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency);
|
voiceFrequencyMenuItem = menu.findItem(R.id.track_detail_voice_frequency);
|
||||||
@@ -392,6 +393,7 @@ public class TrackDetailActivity extends AbstractListActivity implements ChooseA
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -40,12 +40,13 @@ import android.widget.AdapterView;
|
|||||||
import android.widget.AdapterView.AdapterContextMenuInfo;
|
import android.widget.AdapterView.AdapterContextMenuInfo;
|
||||||
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.AdapterView.OnItemClickListener;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.SearchView;
|
|
||||||
import android.widget.ShareActionProvider;
|
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
import androidx.appcompat.widget.ShareActionProvider;
|
||||||
import androidx.core.app.ActivityCompat;
|
import androidx.core.app.ActivityCompat;
|
||||||
|
import androidx.core.view.MenuItemCompat;
|
||||||
import androidx.cursoradapter.widget.ResourceCursorAdapter;
|
import androidx.cursoradapter.widget.ResourceCursorAdapter;
|
||||||
import androidx.loader.app.LoaderManager;
|
import androidx.loader.app.LoaderManager;
|
||||||
import androidx.loader.app.LoaderManager.LoaderCallbacks;
|
import androidx.loader.app.LoaderManager.LoaderCallbacks;
|
||||||
@@ -118,7 +119,7 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe
|
|||||||
boolean isSingleSelection = trackIds.length == 1;
|
boolean isSingleSelection = trackIds.length == 1;
|
||||||
|
|
||||||
MenuItem shareMenuItem = menu.findItem(R.id.list_context_menu_share);
|
MenuItem shareMenuItem = menu.findItem(R.id.list_context_menu_share);
|
||||||
ShareActionProvider shareActionProvider = (ShareActionProvider) shareMenuItem.getActionProvider();
|
ShareActionProvider shareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(shareMenuItem);
|
||||||
shareActionProvider.setShareIntent(trackIds.length == 0 ? null : IntentUtils.newShareFileIntent(TrackListActivity.this, trackIds));
|
shareActionProvider.setShareIntent(trackIds.length == 0 ? null : IntentUtils.newShareFileIntent(TrackListActivity.this, trackIds));
|
||||||
|
|
||||||
menu.findItem(R.id.list_context_menu_edit).setVisible(isSingleSelection);
|
menu.findItem(R.id.list_context_menu_edit).setVisible(isSingleSelection);
|
||||||
@@ -394,10 +395,9 @@ public class TrackListActivity extends AbstractListActivity implements ConfirmDe
|
|||||||
boolean isRecording = PreferencesUtils.isRecording(recordingTrackId);
|
boolean isRecording = PreferencesUtils.isRecording(recordingTrackId);
|
||||||
updateMenuItems(isGpsStarted, isRecording);
|
updateMenuItems(isGpsStarted, isRecording);
|
||||||
|
|
||||||
View searchView = searchMenuItem.getActionView();
|
SearchView searchView = (SearchView) searchMenuItem.getActionView();
|
||||||
if (searchView instanceof SearchView) {
|
searchView.setQuery("", false);
|
||||||
((SearchView) searchView).setQuery("", false);
|
|
||||||
}
|
|
||||||
return super.onPrepareOptionsMenu(menu);
|
return super.onPrepareOptionsMenu(menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,9 +27,8 @@ import android.widget.ArrayAdapter;
|
|||||||
import android.widget.AutoCompleteTextView;
|
import android.widget.AutoCompleteTextView;
|
||||||
import android.widget.Spinner;
|
import android.widget.Spinner;
|
||||||
|
|
||||||
import androidx.fragment.app.FragmentActivity;
|
|
||||||
import androidx.preference.DialogPreference;
|
import androidx.preference.DialogPreference;
|
||||||
import androidx.preference.PreferenceDialogFragment;
|
import androidx.preference.PreferenceDialogFragmentCompat;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment;
|
import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment;
|
||||||
@@ -67,7 +66,7 @@ public class ActivityTypePreference extends DialogPreference {
|
|||||||
return R.layout.preference_activity_type;
|
return R.layout.preference_activity_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ActivityPreferenceDialog extends PreferenceDialogFragment {
|
public static class ActivityPreferenceDialog extends PreferenceDialogFragmentCompat {
|
||||||
|
|
||||||
private AutoCompleteTextView textView;
|
private AutoCompleteTextView textView;
|
||||||
private Spinner spinner;
|
private Spinner spinner;
|
||||||
@@ -75,7 +74,7 @@ public class ActivityTypePreference extends DialogPreference {
|
|||||||
static ActivityPreferenceDialog newInstance(String preferenceKey) {
|
static ActivityPreferenceDialog newInstance(String preferenceKey) {
|
||||||
ActivityTypePreference.ActivityPreferenceDialog dialog = new ActivityTypePreference.ActivityPreferenceDialog();
|
ActivityTypePreference.ActivityPreferenceDialog dialog = new ActivityTypePreference.ActivityPreferenceDialog();
|
||||||
final Bundle bundle = new Bundle(1);
|
final Bundle bundle = new Bundle(1);
|
||||||
bundle.putString(PreferenceDialogFragment.ARG_KEY, preferenceKey);
|
bundle.putString(PreferenceDialogFragmentCompat.ARG_KEY, preferenceKey);
|
||||||
dialog.setArguments(bundle);
|
dialog.setArguments(bundle);
|
||||||
|
|
||||||
return dialog;
|
return dialog;
|
||||||
@@ -134,10 +133,7 @@ public class ActivityTypePreference extends DialogPreference {
|
|||||||
|
|
||||||
private void showIconSelectDialog() {
|
private void showIconSelectDialog() {
|
||||||
String category = PreferencesUtils.getString(getActivity(), R.string.default_activity_key, PreferencesUtils.DEFAULT_ACTIVITY_DEFAULT);
|
String category = PreferencesUtils.getString(getActivity(), R.string.default_activity_key, PreferencesUtils.DEFAULT_ACTIVITY_DEFAULT);
|
||||||
|
ChooseActivityTypeDialogFragment.showDialog(getActivity().getSupportFragmentManager(), category);
|
||||||
// TODO Remove casting when upgrading to new Androidx compat.
|
|
||||||
FragmentActivity fragmentActivity = (androidx.fragment.app.FragmentActivity) getActivity();
|
|
||||||
ChooseActivityTypeDialogFragment.showDialog(fragmentActivity.getSupportFragmentManager(), category);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import android.util.AttributeSet;
|
|||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import androidx.preference.DialogPreference;
|
import androidx.preference.DialogPreference;
|
||||||
import androidx.preference.PreferenceDialogFragment;
|
import androidx.preference.PreferenceDialogFragmentCompat;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
import de.dennisguse.opentracks.util.PreferencesUtils;
|
import de.dennisguse.opentracks.util.PreferencesUtils;
|
||||||
@@ -17,12 +17,12 @@ public class ResetDialogPreference extends DialogPreference {
|
|||||||
super(context, attrs);
|
super(context, attrs);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class ResetPreferenceDialog extends PreferenceDialogFragment {
|
public static class ResetPreferenceDialog extends PreferenceDialogFragmentCompat {
|
||||||
|
|
||||||
static PreferenceDialogFragment newInstance(String preferenceKey) {
|
static PreferenceDialogFragmentCompat newInstance(String preferenceKey) {
|
||||||
ResetPreferenceDialog dialog = new ResetPreferenceDialog();
|
ResetPreferenceDialog dialog = new ResetPreferenceDialog();
|
||||||
final Bundle bundle = new Bundle(1);
|
final Bundle bundle = new Bundle(1);
|
||||||
bundle.putString(PreferenceDialogFragment.ARG_KEY, preferenceKey);
|
bundle.putString(PreferenceDialogFragmentCompat.ARG_KEY, preferenceKey);
|
||||||
dialog.setArguments(bundle);
|
dialog.setArguments(bundle);
|
||||||
|
|
||||||
return dialog;
|
return dialog;
|
||||||
|
|||||||
@@ -1,13 +1,13 @@
|
|||||||
package de.dennisguse.opentracks.settings;
|
package de.dennisguse.opentracks.settings;
|
||||||
|
|
||||||
import android.app.DialogFragment;
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
|
||||||
|
import androidx.fragment.app.DialogFragment;
|
||||||
import androidx.fragment.app.FragmentActivity;
|
import androidx.fragment.app.FragmentActivity;
|
||||||
import androidx.preference.ListPreference;
|
import androidx.preference.ListPreference;
|
||||||
import androidx.preference.Preference;
|
import androidx.preference.Preference;
|
||||||
import androidx.preference.PreferenceFragment;
|
import androidx.preference.PreferenceFragmentCompat;
|
||||||
|
|
||||||
import de.dennisguse.opentracks.R;
|
import de.dennisguse.opentracks.R;
|
||||||
import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment;
|
import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment;
|
||||||
@@ -22,7 +22,7 @@ public class SettingsActivity extends FragmentActivity implements ChooseActivity
|
|||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
|
|
||||||
getFragmentManager().beginTransaction().replace(android.R.id.content, prefsFragment).commit();
|
getSupportFragmentManager().beginTransaction().replace(android.R.id.content, prefsFragment).commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -30,7 +30,7 @@ public class SettingsActivity extends FragmentActivity implements ChooseActivity
|
|||||||
prefsFragment.setDefaultActivity(iconValue);
|
prefsFragment.setDefaultActivity(iconValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class PrefsFragment extends PreferenceFragment {
|
public static class PrefsFragment extends PreferenceFragmentCompat {
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Note that sharedPreferenceChangeListener cannot be an anonymous inner class.
|
* Note that sharedPreferenceChangeListener cannot be an anonymous inner class.
|
||||||
@@ -62,7 +62,7 @@ public class SettingsActivity extends FragmentActivity implements ChooseActivity
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
|
||||||
addPreferencesFromResource(R.xml.settings);
|
setPreferencesFromResource(R.xml.settings, rootKey);
|
||||||
updateUnits();
|
updateUnits();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,30 +13,31 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/list_context_menu_share"
|
android:id="@+id/list_context_menu_share"
|
||||||
android:actionProviderClass="android.widget.ShareActionProvider"
|
android:title="@string/menu_share"
|
||||||
android:showAsAction="ifRoom"
|
app:actionProviderClass="androidx.appcompat.widget.ShareActionProvider"
|
||||||
android:title="@string/menu_share" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/list_context_menu_show_on_map"
|
android:id="@+id/list_context_menu_show_on_map"
|
||||||
android:icon="@drawable/ic_map_24dp"
|
android:icon="@drawable/ic_map_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_show_on_map"
|
||||||
android:title="@string/menu_show_on_map" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/list_context_menu_edit"
|
android:id="@+id/list_context_menu_edit"
|
||||||
android:icon="@drawable/ic_edit_24dp"
|
android:icon="@drawable/ic_edit_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_edit"
|
||||||
android:title="@string/menu_edit" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/list_context_menu_delete"
|
android:id="@+id/list_context_menu_delete"
|
||||||
android:icon="@drawable/ic_delete_forever_24dp"
|
android:icon="@drawable/ic_delete_forever_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_delete"
|
||||||
android:title="@string/menu_delete" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/list_context_menu_select_all"
|
android:id="@+id/list_context_menu_select_all"
|
||||||
android:icon="@drawable/ic_select_all_24dp"
|
android:icon="@drawable/ic_select_all_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_select_all"
|
||||||
android:title="@string/menu_select_all" />
|
app:showAsAction="ifRoom" />
|
||||||
</menu>
|
</menu>
|
||||||
@@ -13,20 +13,21 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/marker_detail_show_on_map"
|
android:id="@+id/marker_detail_show_on_map"
|
||||||
android:icon="@drawable/ic_map_24dp"
|
android:icon="@drawable/ic_map_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_show_on_map"
|
||||||
android:title="@string/menu_show_on_map" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/marker_detail_edit"
|
android:id="@+id/marker_detail_edit"
|
||||||
android:icon="@drawable/ic_edit_24dp"
|
android:icon="@drawable/ic_edit_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_edit"
|
||||||
android:title="@string/menu_edit" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/marker_detail_delete"
|
android:id="@+id/marker_detail_delete"
|
||||||
android:icon="@drawable/ic_delete_forever_24dp"
|
android:icon="@drawable/ic_delete_forever_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_delete"
|
||||||
android:title="@string/menu_delete" />
|
app:showAsAction="ifRoom" />
|
||||||
</menu>
|
</menu>
|
||||||
@@ -13,15 +13,16 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/marker_list_insert_marker"
|
android:id="@+id/marker_list_insert_marker"
|
||||||
android:icon="@drawable/ic_marker_show_24dp"
|
android:icon="@drawable/ic_marker_show_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_insert_marker"
|
||||||
android:title="@string/menu_insert_marker" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/marker_list_search"
|
android:id="@+id/marker_list_search"
|
||||||
android:actionViewClass="android.widget.SearchView"
|
android:title="@string/menu_search"
|
||||||
android:showAsAction="ifRoom"
|
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
||||||
android:title="@string/menu_search" />
|
app:showAsAction="ifRoom" />
|
||||||
</menu>
|
</menu>
|
||||||
@@ -13,29 +13,30 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_detail_insert_marker"
|
android:id="@+id/track_detail_insert_marker"
|
||||||
android:icon="@drawable/ic_marker_add_24dp"
|
android:icon="@drawable/ic_marker_add_24dp"
|
||||||
android:orderInCategory="1"
|
android:orderInCategory="1"
|
||||||
android:showAsAction="ifRoom"
|
app:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_insert_marker" />
|
android:title="@string/menu_insert_marker" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_detail_insert_photo"
|
android:id="@+id/track_detail_insert_photo"
|
||||||
android:icon="@drawable/ic_camera_24dp"
|
android:icon="@drawable/ic_camera_24dp"
|
||||||
android:orderInCategory="2"
|
android:orderInCategory="2"
|
||||||
android:showAsAction="ifRoom"
|
app:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_insert_photo" />
|
android:title="@string/menu_insert_photo" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_detail_menu_show_on_map"
|
android:id="@+id/track_detail_menu_show_on_map"
|
||||||
android:icon="@drawable/ic_map_24dp"
|
android:icon="@drawable/ic_map_24dp"
|
||||||
android:showAsAction="ifRoom"
|
app:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_show_on_map" />
|
android:title="@string/menu_show_on_map" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_detail_share"
|
android:id="@+id/track_detail_share"
|
||||||
android:actionProviderClass="android.widget.ShareActionProvider"
|
app:actionProviderClass="androidx.appcompat.widget.ShareActionProvider"
|
||||||
android:orderInCategory="4"
|
android:orderInCategory="4"
|
||||||
android:showAsAction="ifRoom"
|
app:showAsAction="ifRoom"
|
||||||
android:title="@string/menu_share" />
|
android:title="@string/menu_share" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_detail_markers"
|
android:id="@+id/track_detail_markers"
|
||||||
|
|||||||
@@ -13,23 +13,24 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_list_search"
|
android:id="@+id/track_list_search"
|
||||||
android:actionViewClass="android.widget.SearchView"
|
android:title="@string/menu_search"
|
||||||
android:showAsAction="ifRoom"
|
app:actionViewClass="androidx.appcompat.widget.SearchView"
|
||||||
android:title="@string/menu_search" />
|
app:showAsAction="ifRoom" />
|
||||||
<!-- Icon and title is overwritten by TrackListActivity -->
|
<!-- Icon and title is overwritten by TrackListActivity -->
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_list_start_gps"
|
android:id="@+id/track_list_start_gps"
|
||||||
android:icon="@drawable/ic_gps_off_24dp"
|
android:icon="@drawable/ic_gps_off_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_start_gps"
|
||||||
android:title="@string/menu_start_gps" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_list_markers"
|
android:id="@+id/track_list_markers"
|
||||||
android:icon="@drawable/ic_marker_show_24dp"
|
android:icon="@drawable/ic_marker_show_24dp"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_markers"
|
||||||
android:title="@string/menu_markers" />
|
app:showAsAction="ifRoom" />
|
||||||
<item
|
<item
|
||||||
android:id="@+id/track_list_aggregated_statistics"
|
android:id="@+id/track_list_aggregated_statistics"
|
||||||
android:icon="@drawable/ic_statistics_24dp"
|
android:icon="@drawable/ic_statistics_24dp"
|
||||||
|
|||||||
@@ -15,7 +15,8 @@ limitations under the License.
|
|||||||
-->
|
-->
|
||||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<style name="ThemeCustom" parent="android:Theme.Holo">
|
<style name="ThemeCustom" parent="Theme.AppCompat">
|
||||||
|
<!-- TODO Cleanup necessary due to change to appcompat -->
|
||||||
<!-- Auto generated -->
|
<!-- Auto generated -->
|
||||||
<item name="android:activatedBackgroundIndicator">@drawable/activated_background_holo_dark
|
<item name="android:activatedBackgroundIndicator">@drawable/activated_background_holo_dark
|
||||||
</item>
|
</item>
|
||||||
@@ -30,6 +31,10 @@ limitations under the License.
|
|||||||
<item name="android:actionBarStyle">@style/ActionBarStyleCustom</item>
|
<item name="android:actionBarStyle">@style/ActionBarStyleCustom</item>
|
||||||
<item name="android:actionModeBackground">@drawable/custom_action_mode_background</item>
|
<item name="android:actionModeBackground">@drawable/custom_action_mode_background</item>
|
||||||
<item name="android:alertDialogTheme">@style/CustomAlertDialogTheme</item>
|
<item name="android:alertDialogTheme">@style/CustomAlertDialogTheme</item>
|
||||||
|
|
||||||
|
<!-- <item name="colorPrimary">TODO</item>-->
|
||||||
|
<!-- <item name="colorPrimaryDark">TODO</item>-->
|
||||||
|
|
||||||
<item name="android:colorAccent">@color/holo_orange_dark</item>
|
<item name="android:colorAccent">@color/holo_orange_dark</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
@@ -43,6 +48,7 @@ limitations under the License.
|
|||||||
<item name="android:backgroundDimEnabled">false</item>
|
<item name="android:backgroundDimEnabled">false</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
<!-- TODO Use Theme.AppCompat.Dialog after migrating to settings to fragements -->
|
||||||
<style name="CustomAlertDialogTheme" parent="@android:style/Theme.Holo.Dialog">
|
<style name="CustomAlertDialogTheme" parent="@android:style/Theme.Holo.Dialog">
|
||||||
<!-- From auto generated -->
|
<!-- From auto generated -->
|
||||||
<item name="android:activatedBackgroundIndicator">@drawable/activated_background_holo_dark
|
<item name="android:activatedBackgroundIndicator">@drawable/activated_background_holo_dark
|
||||||
|
|||||||
Reference in New Issue
Block a user