From e574c67ad6d3486920be7541ea3919e3583aca68 Mon Sep 17 00:00:00 2001 From: Dennis Guse Date: Mon, 21 Sep 2020 22:55:07 +0200 Subject: [PATCH] Theming: activity icons are now in textColorPrimary. And replaced spinner in StatisticsRecordedFragment. --- .../fragments/StatisticsRecordedFragment.java | 34 ++++--------------- .../opentracks/util/TrackIconUtils.java | 3 +- src/main/res/layout/list_item.xml | 4 ++- src/main/res/layout/statistics_recorded.xml | 7 ++-- 4 files changed, 15 insertions(+), 33 deletions(-) diff --git a/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java b/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java index cbaa683b8..b4d7f4430 100644 --- a/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java +++ b/src/main/java/de/dennisguse/opentracks/fragments/StatisticsRecordedFragment.java @@ -19,21 +19,19 @@ package de.dennisguse.opentracks.fragments; import android.content.SharedPreferences; import android.os.Bundle; import android.util.Pair; -import android.view.KeyEvent; import android.view.LayoutInflater; -import android.view.MotionEvent; import android.view.View; import android.view.ViewGroup; -import android.widget.Spinner; +import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.constraintlayout.widget.Group; +import androidx.core.content.ContextCompat; import androidx.fragment.app.Fragment; import de.dennisguse.opentracks.R; -import de.dennisguse.opentracks.TrackRecordedActivity; import de.dennisguse.opentracks.content.data.Track; import de.dennisguse.opentracks.content.provider.ContentProviderUtils; import de.dennisguse.opentracks.stats.TrackStatistics; @@ -76,7 +74,7 @@ public class StatisticsRecordedFragment extends Fragment { private TextView distanceValue; private TextView distanceUnit; private View activityLabel; - private Spinner activitySpinner; + private ImageView activitySpinner; private TextView movingTimeValue; private TextView speedAvgLabel; private TextView speedAvgValue; @@ -141,26 +139,6 @@ public class StatisticsRecordedFragment extends Fragment { elevationTotalGainUnit = view.findViewById(R.id.stats_elevation_gain_unit); } - @Override - public void onActivityCreated(Bundle savedInstanceState) { - super.onActivityCreated(savedInstanceState); - - Spinner activityTypeIcon = getView().findViewById(R.id.stats_activity_type_icon); - activityTypeIcon.setAdapter(TrackIconUtils.getIconSpinnerAdapter(getActivity(), "")); - activityTypeIcon.setOnTouchListener((v, event) -> { - if (event.getAction() == MotionEvent.ACTION_UP) { - ((TrackRecordedActivity) getActivity()).chooseActivityType(category); - } - return true; - }); - activityTypeIcon.setOnKeyListener((v, keyCode, event) -> { - if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { - ((TrackRecordedActivity) getActivity()).chooseActivityType(category); - } - return true; - }); - } - @Override public void onResume() { super.onResume(); @@ -215,8 +193,6 @@ public class StatisticsRecordedFragment extends Fragment { } private void updateUI() { - String trackIconValue = TrackIconUtils.getIconValue(getContext(), category); - boolean metricUnits = PreferencesUtils.isMetricUnits(getContext()); boolean reportSpeed = PreferencesUtils.isReportSpeed(getContext(), category); @@ -231,12 +207,14 @@ public class StatisticsRecordedFragment extends Fragment { // Set activity type { + String trackIconValue = TrackIconUtils.getIconValue(getContext(), category); + activityLabel.setVisibility(trackIconValue != null ? View.VISIBLE : View.GONE); activitySpinner.setVisibility(trackIconValue != null ? View.VISIBLE : View.GONE); activitySpinner.setEnabled(false); if (trackIconValue != null) { - TrackIconUtils.setIconSpinner(activitySpinner, trackIconValue); + activitySpinner.setImageDrawable(ContextCompat.getDrawable(getContext(), TrackIconUtils.getIconDrawable(trackIconValue))); } } diff --git a/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java b/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java index 18db8bb1a..4031af8c6 100644 --- a/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java +++ b/src/main/java/de/dennisguse/opentracks/util/TrackIconUtils.java @@ -154,7 +154,8 @@ public class TrackIconUtils { * @param context the context * @param activityType the activity type */ - public static String getIconValue(Context context, String activityType) { + public static @NonNull + String getIconValue(Context context, String activityType) { if (activityType == null || activityType.equals("")) { return UNKNOWN; } diff --git a/src/main/res/layout/list_item.xml b/src/main/res/layout/list_item.xml index b248a4402..05f9ccb13 100644 --- a/src/main/res/layout/list_item.xml +++ b/src/main/res/layout/list_item.xml @@ -14,6 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. --> @@ -57,7 +58,8 @@ limitations under the License. android:layout_gravity="center_vertical" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" - android:contentDescription="@string/image_track" /> + android:contentDescription="@string/image_track" + app:tint="?android:textColorPrimary" /> - + app:layout_constraintTop_toTopOf="@+id/stats_distance_value" + app:tint="?android:attr/textColorPrimary" + app:tintMode="src_atop" />