forked from upstream-mirrors/OpenTracks
Cleanup: remove TrackUtils by inlining functionality.
This commit is contained in:
@@ -31,7 +31,6 @@ import de.dennisguse.opentracks.data.models.Track;
|
|||||||
import de.dennisguse.opentracks.databinding.TrackEditBinding;
|
import de.dennisguse.opentracks.databinding.TrackEditBinding;
|
||||||
import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment;
|
import de.dennisguse.opentracks.fragments.ChooseActivityTypeDialogFragment;
|
||||||
import de.dennisguse.opentracks.ui.ZoneOffsetAdapter;
|
import de.dennisguse.opentracks.ui.ZoneOffsetAdapter;
|
||||||
import de.dennisguse.opentracks.util.TrackUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An activity that let's the user see and edit the user editable track meta data such as track name, activity type, and track description.
|
* An activity that let's the user see and edit the user editable track meta data such as track name, activity type, and track description.
|
||||||
@@ -73,16 +72,16 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit
|
|||||||
|
|
||||||
viewBinding.trackEditName.setText(track.getName());
|
viewBinding.trackEditName.setText(track.getName());
|
||||||
|
|
||||||
viewBinding.trackEditActivityType.setText(track.getActivityTypeLocalized());
|
viewBinding.trackEditActivityTypeLocalized.setText(track.getActivityTypeLocalized());
|
||||||
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, ActivityType.getLocalizedStrings(this));
|
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, ActivityType.getLocalizedStrings(this));
|
||||||
viewBinding.trackEditActivityType.setAdapter(adapter);
|
viewBinding.trackEditActivityTypeLocalized.setAdapter(adapter);
|
||||||
viewBinding.trackEditActivityType.setOnItemClickListener((parent, view, position, id) -> {
|
viewBinding.trackEditActivityTypeLocalized.setOnItemClickListener((parent, view, position, id) -> {
|
||||||
String localizedActivityType = (String) viewBinding.trackEditActivityType.getAdapter().getItem(position);
|
String localizedActivityType = (String) viewBinding.trackEditActivityTypeLocalized.getAdapter().getItem(position);
|
||||||
setActivityTypeIcon(ActivityType.findByLocalizedString(this, localizedActivityType));
|
setActivityTypeIcon(ActivityType.findByLocalizedString(this, localizedActivityType));
|
||||||
});
|
});
|
||||||
viewBinding.trackEditActivityType.setOnFocusChangeListener((v, hasFocus) -> {
|
viewBinding.trackEditActivityTypeLocalized.setOnFocusChangeListener((v, hasFocus) -> {
|
||||||
if (!hasFocus) {
|
if (!hasFocus) {
|
||||||
String localizedActivityType = viewBinding.trackEditActivityType.getText().toString();
|
String localizedActivityType = viewBinding.trackEditActivityTypeLocalized.getText().toString();
|
||||||
setActivityTypeIcon(ActivityType.findByLocalizedString(this, localizedActivityType));
|
setActivityTypeIcon(ActivityType.findByLocalizedString(this, localizedActivityType));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -95,7 +94,7 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit
|
|||||||
activityType = track.getActivityType();
|
activityType = track.getActivityType();
|
||||||
}
|
}
|
||||||
setActivityTypeIcon(activityType);
|
setActivityTypeIcon(activityType);
|
||||||
viewBinding.trackEditActivityTypeIcon.setOnClickListener(v -> ChooseActivityTypeDialogFragment.showDialog(getSupportFragmentManager(), this, viewBinding.trackEditActivityType.getText().toString()));
|
viewBinding.trackEditActivityTypeIcon.setOnClickListener(v -> ChooseActivityTypeDialogFragment.showDialog(getSupportFragmentManager(), this, viewBinding.trackEditActivityTypeLocalized.getText().toString()));
|
||||||
|
|
||||||
viewBinding.trackEditDescription.setText(track.getDescription());
|
viewBinding.trackEditDescription.setText(track.getDescription());
|
||||||
|
|
||||||
@@ -105,9 +104,12 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit
|
|||||||
viewBinding.trackEditTimeOffset.setOnItemClickListener((parent, view, position, id) -> track.setZoneOffset(zoneOffsetAdapter.getItem(position)));
|
viewBinding.trackEditTimeOffset.setOnItemClickListener((parent, view, position, id) -> track.setZoneOffset(zoneOffsetAdapter.getItem(position)));
|
||||||
|
|
||||||
viewBinding.trackEditSave.setOnClickListener(v -> {
|
viewBinding.trackEditSave.setOnClickListener(v -> {
|
||||||
TrackUtils.updateTrack(TrackEditActivity.this, track, viewBinding.trackEditName.getText().toString(),
|
track.setName(viewBinding.trackEditName.getText().toString());
|
||||||
viewBinding.trackEditActivityType.getText().toString(), viewBinding.trackEditDescription.getText().toString(),
|
track.setDescription(viewBinding.trackEditDescription.getText().toString());
|
||||||
contentProviderUtils);
|
|
||||||
|
track.setActivityTypeLocalizedAndUpdateActivityType(this, viewBinding.trackEditActivityTypeLocalized.getText().toString());
|
||||||
|
|
||||||
|
contentProviderUtils.updateTrack(track);
|
||||||
finish();
|
finish();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -136,6 +138,6 @@ public class TrackEditActivity extends AbstractActivity implements ChooseActivit
|
|||||||
@Override
|
@Override
|
||||||
public void onChooseActivityTypeDone(ActivityType activityType) {
|
public void onChooseActivityTypeDone(ActivityType activityType) {
|
||||||
setActivityTypeIcon(activityType);
|
setActivityTypeIcon(activityType);
|
||||||
viewBinding.trackEditActivityType.setText(getString(activityType.getLocalizedStringId()));
|
viewBinding.trackEditActivityTypeLocalized.setText(getString(activityType.getLocalizedStringId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,6 @@ import de.dennisguse.opentracks.ui.markers.MarkerListActivity;
|
|||||||
import de.dennisguse.opentracks.ui.util.ActivityUtils;
|
import de.dennisguse.opentracks.ui.util.ActivityUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentDashboardUtils;
|
import de.dennisguse.opentracks.util.IntentDashboardUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
import de.dennisguse.opentracks.util.TrackUtils;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An activity to show the track detail, record a new track or resumes an existing one.
|
* An activity to show the track detail, record a new track or resumes an existing one.
|
||||||
@@ -327,7 +326,9 @@ public class TrackRecordingActivity extends AbstractActivity implements ChooseAc
|
|||||||
public void onChooseActivityTypeDone(ActivityType activityType) {
|
public void onChooseActivityTypeDone(ActivityType activityType) {
|
||||||
Track track = contentProviderUtils.getTrack(trackId);
|
Track track = contentProviderUtils.getTrack(trackId);
|
||||||
String activityTypeLocalized = getString(activityType.getLocalizedStringId());
|
String activityTypeLocalized = getString(activityType.getLocalizedStringId());
|
||||||
TrackUtils.updateTrack(this, track, null, activityTypeLocalized, null, contentProviderUtils);
|
track.setActivityTypeLocalizedAndUpdateActivityType(this, activityTypeLocalized);
|
||||||
|
|
||||||
|
contentProviderUtils.updateTrack(track);
|
||||||
}
|
}
|
||||||
|
|
||||||
private class CustomFragmentPagerAdapter extends FragmentStateAdapter {
|
private class CustomFragmentPagerAdapter extends FragmentStateAdapter {
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import de.dennisguse.opentracks.ui.aggregatedStatistics.ConfirmDeleteDialogFragm
|
|||||||
import de.dennisguse.opentracks.util.ExportUtils;
|
import de.dennisguse.opentracks.util.ExportUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentUtils;
|
import de.dennisguse.opentracks.util.IntentUtils;
|
||||||
import de.dennisguse.opentracks.util.StringUtils;
|
import de.dennisguse.opentracks.util.StringUtils;
|
||||||
import de.dennisguse.opentracks.util.TrackUtils;
|
|
||||||
|
|
||||||
public class TrackStoppedActivity extends AbstractTrackDeleteActivity implements ChooseActivityTypeDialogFragment.ChooseActivityTypeCaller {
|
public class TrackStoppedActivity extends AbstractTrackDeleteActivity implements ChooseActivityTypeDialogFragment.ChooseActivityTypeCaller {
|
||||||
|
|
||||||
@@ -105,9 +104,11 @@ public class TrackStoppedActivity extends AbstractTrackDeleteActivity implements
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void storeTrackMetaData(ContentProviderUtils contentProviderUtils, Track track) {
|
private void storeTrackMetaData(ContentProviderUtils contentProviderUtils, Track track) {
|
||||||
TrackUtils.updateTrack(TrackStoppedActivity.this, track, viewBinding.trackEditName.getText().toString(),
|
track.setName(viewBinding.trackEditName.getText().toString());
|
||||||
viewBinding.trackEditActivityType.getText().toString(), viewBinding.trackEditDescription.getText().toString(),
|
track.setDescription(viewBinding.trackEditDescription.getText().toString());
|
||||||
contentProviderUtils);
|
track.setActivityTypeLocalizedAndUpdateActivityType(this, viewBinding.trackEditActivityType.getText().toString());
|
||||||
|
|
||||||
|
contentProviderUtils.updateTrack(track);
|
||||||
}
|
}
|
||||||
|
|
||||||
@NonNull
|
@NonNull
|
||||||
|
|||||||
@@ -129,10 +129,12 @@ public enum ActivityType {
|
|||||||
.orElse(ActivityType.UNKNOWN);
|
.orElse(ActivityType.UNKNOWN);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
public static ActivityType findByLocalizedString(Context context, String localizedActivityType) {
|
public static ActivityType findByLocalizedString(Context context, String localizedActivityType) {
|
||||||
return findByLocalizedString(context.getResources(), localizedActivityType);
|
return findByLocalizedString(context.getResources(), localizedActivityType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
public static ActivityType findByLocalizedString(Resources resources, String localizedActivityType) {
|
public static ActivityType findByLocalizedString(Resources resources, String localizedActivityType) {
|
||||||
return Arrays.stream(ActivityType.values())
|
return Arrays.stream(ActivityType.values())
|
||||||
.filter(it -> resources.getString(it.getLocalizedStringId()).equals(localizedActivityType))
|
.filter(it -> resources.getString(it.getLocalizedStringId()).equals(localizedActivityType))
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
package de.dennisguse.opentracks.data.models;
|
package de.dennisguse.opentracks.data.models;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
import android.os.Parcel;
|
import android.os.Parcel;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
|
|
||||||
@@ -113,6 +114,11 @@ public class Track {
|
|||||||
this.activityType = activityType;
|
this.activityType = activityType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setActivityTypeLocalizedAndUpdateActivityType(Context context, String activityTypeLocalized) {
|
||||||
|
setActivityTypeLocalized(activityTypeLocalized);
|
||||||
|
setActivityType(ActivityType.findByLocalizedString(context, activityTypeLocalized));
|
||||||
|
}
|
||||||
|
|
||||||
public ZoneOffset getZoneOffset() {
|
public ZoneOffset getZoneOffset() {
|
||||||
return zoneOffset;
|
return zoneOffset;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import de.dennisguse.opentracks.data.models.Track;
|
|||||||
import de.dennisguse.opentracks.services.TrackRecordingService;
|
import de.dennisguse.opentracks.services.TrackRecordingService;
|
||||||
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
import de.dennisguse.opentracks.settings.PreferencesUtils;
|
||||||
import de.dennisguse.opentracks.util.IntentDashboardUtils;
|
import de.dennisguse.opentracks.util.IntentDashboardUtils;
|
||||||
import de.dennisguse.opentracks.util.TrackUtils;
|
|
||||||
|
|
||||||
public class StartRecording extends AbstractAPIActivity {
|
public class StartRecording extends AbstractAPIActivity {
|
||||||
|
|
||||||
@@ -42,12 +41,12 @@ public class StartRecording extends AbstractAPIActivity {
|
|||||||
ContentProviderUtils contentProviderUtils = new ContentProviderUtils(this);
|
ContentProviderUtils contentProviderUtils = new ContentProviderUtils(this);
|
||||||
Track track = contentProviderUtils.getTrack(trackId);
|
Track track = contentProviderUtils.getTrack(trackId);
|
||||||
|
|
||||||
TrackUtils.updateTrack(this, track,
|
track.setName(bundle.getString(EXTRA_TRACK_NAME, ""));
|
||||||
bundle.getString(EXTRA_TRACK_NAME, null),
|
track.setDescription(bundle.getString(EXTRA_TRACK_DESCRIPTION, ""));
|
||||||
bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_LOCALIZED, null),
|
track.setActivityType(ActivityType.findBy(bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_ID, null)));
|
||||||
ActivityType.findBy(bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_ID, null)),
|
track.setActivityTypeLocalized(bundle.getString(EXTRA_TRACK_ACTIVITY_TYPE_LOCALIZED, ""));
|
||||||
bundle.getString(EXTRA_TRACK_DESCRIPTION, null),
|
|
||||||
contentProviderUtils);
|
contentProviderUtils.updateTrack(track);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startDashboardAPI(@NonNull Track.Id trackId, @NonNull Bundle bundle) {
|
private void startDashboardAPI(@NonNull Track.Id trackId, @NonNull Bundle bundle) {
|
||||||
|
|||||||
@@ -1,59 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2013 Google Inc.
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
||||||
* use this file except in compliance with the License. You may obtain a copy of
|
|
||||||
* the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
||||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
||||||
* License for the specific language governing permissions and limitations under
|
|
||||||
* the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
package de.dennisguse.opentracks.util;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
|
|
||||||
import de.dennisguse.opentracks.data.ContentProviderUtils;
|
|
||||||
import de.dennisguse.opentracks.data.models.ActivityType;
|
|
||||||
import de.dennisguse.opentracks.data.models.Track;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Utilities for updating track.
|
|
||||||
*
|
|
||||||
* @author Jimmy Shih
|
|
||||||
*/
|
|
||||||
//TOOD Refactor ActivityType handling in here!
|
|
||||||
@Deprecated //TODO Refactor: all this should happen somewhere else (ContentProviderUtils?)
|
|
||||||
public class TrackUtils {
|
|
||||||
|
|
||||||
private TrackUtils() {
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void updateTrack(Context context, Track track, String name, String activityTypeLocalized, String description, ContentProviderUtils contentProviderUtils) {
|
|
||||||
updateTrack(context, track, name, activityTypeLocalized, ActivityType.findByLocalizedString(context, activityTypeLocalized), description, contentProviderUtils);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void updateTrack(Context context, Track track, String name, String activityTypeLocalized, ActivityType activityType, String description, ContentProviderUtils contentProviderUtils) {
|
|
||||||
if (name != null) {
|
|
||||||
track.setName(name);
|
|
||||||
}
|
|
||||||
if (activityTypeLocalized != null) {
|
|
||||||
track.setActivityTypeLocalized(activityTypeLocalized);
|
|
||||||
}
|
|
||||||
if (activityType != null) {
|
|
||||||
track.setActivityType(activityType);
|
|
||||||
} else if (activityTypeLocalized != null) {
|
|
||||||
track.setActivityType(ActivityType.findByLocalizedString(context, activityTypeLocalized));
|
|
||||||
}
|
|
||||||
if (description != null) {
|
|
||||||
track.setDescription(description);
|
|
||||||
}
|
|
||||||
|
|
||||||
contentProviderUtils.updateTrack(track);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -62,7 +62,7 @@ limitations under the License.
|
|||||||
android:imeOptions="actionNext"
|
android:imeOptions="actionNext"
|
||||||
android:importantForAutofill="no">
|
android:importantForAutofill="no">
|
||||||
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||||
android:id="@+id/track_edit_activity_type"
|
android:id="@+id/track_edit_activity_type_localized"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="8dp"
|
android:layout_marginEnd="8dp"
|
||||||
|
|||||||
Reference in New Issue
Block a user