Use ViewBinding for activities.

This commit is contained in:
Dennis Guse
2020-10-31 23:26:34 +01:00
parent 9cebb1013c
commit 0f92a37146
29 changed files with 296 additions and 376 deletions
@@ -183,8 +183,8 @@ public class ChartFragment extends Fragment implements TrackDataListener {
@Override
public void onStop() {
super.onStop();
ViewGroup layout = getView().findViewById(R.id.chart_view_layout);
layout.removeView(chartView);
viewBinding.chartViewLayout.removeView(chartView);
}
@Override
@@ -8,7 +8,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -43,7 +42,6 @@ public class IntervalsFragment extends Fragment implements TrackDataListener {
private String intervalUnit;
private IntervalStatisticsAdapter adapter;
protected Spinner spinnerIntervals;
private ArrayAdapter<IntervalStatisticsModel.IntervalOption> spinnerAdapter;
private TrackDataHub trackDataHub;
@@ -78,14 +76,12 @@ public class IntervalsFragment extends Fragment implements TrackDataListener {
PreferencesUtils.register(getContext(), sharedPreferenceChangeListener);
intervalUnit = PreferencesUtils.isMetricUnits(getContext()) ? getContext().getString(R.string.unit_kilometer) : getContext().getString(R.string.unit_mile);
viewBinding.intervalList.setEmptyView(view.findViewById(R.id.interval_list_empty_view));
viewBinding.intervalList.setEmptyView(viewBinding.intervalListEmptyView);
stackModeListView = IntervalStatisticsAdapter.StackMode.STACK_FROM_TOP;
viewModel = new IntervalStatisticsModel();
spinnerIntervals = view.findViewById(R.id.spinner_intervals);
spinnerAdapter = new ArrayAdapter<IntervalStatisticsModel.IntervalOption>(getContext(), android.R.layout.simple_spinner_dropdown_item, IntervalStatisticsModel.IntervalOption.values()) {
@NonNull
@Override
@@ -102,9 +98,9 @@ public class IntervalsFragment extends Fragment implements TrackDataListener {
return v;
}
};
spinnerIntervals.setAdapter(spinnerAdapter);
spinnerIntervals.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
viewBinding.spinnerIntervals.setAdapter(spinnerAdapter);
viewBinding.spinnerIntervals.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
selectedInterval = IntervalStatisticsModel.IntervalOption.values()[i];
@@ -113,7 +109,6 @@ public class IntervalsFragment extends Fragment implements TrackDataListener {
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
@@ -143,7 +138,6 @@ public class IntervalsFragment extends Fragment implements TrackDataListener {
PreferencesUtils.unregister(getContext(), sharedPreferenceChangeListener);
adapter = null;
spinnerIntervals = null;
viewModel = null;
}
@@ -30,7 +30,6 @@ import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.Animation.AnimationListener;
import android.view.animation.AnimationUtils;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
@@ -230,24 +229,17 @@ public class MarkerDetailFragment extends Fragment {
viewBinding.markerDetailMarkerPhoto.setImageResource(MarkerUtils.ICON_ID);
}
setName(hasPhoto);
ListItemUtils.setTextView(getActivity(), viewBinding.markerDetailMarkerName, marker.getName(), hasPhoto);
TextView category = getView().findViewById(R.id.marker_detail_marker_category);
ListItemUtils.setTextView(getActivity(), category, StringUtils.getCategory(marker.getCategory()), hasPhoto);
TextView description = getView().findViewById(R.id.marker_detail_marker_description);
ListItemUtils.setTextView(getActivity(), description, marker.getDescription(), hasPhoto);
ListItemUtils.setTextView(getActivity(), viewBinding.markerDetailMarkerCategory, StringUtils.getCategory(marker.getCategory()), hasPhoto);
ListItemUtils.setTextView(getActivity(), viewBinding.markerDetailMarkerDescription, marker.getDescription(), hasPhoto);
setLocation(hasPhoto);
}
private void setName(boolean addShadow) {
TextView textView = getView().findViewById(R.id.marker_detail_marker_name);
ListItemUtils.setTextView(getActivity(), textView, marker.getName(), addShadow);
}
private void setLocation(boolean addShadow) {
TextView textView = getView().findViewById(R.id.marker_detail_marker_location);
Location location = marker.getLocation();
String value;
if (location == null) {
@@ -258,6 +250,6 @@ public class MarkerDetailFragment extends Fragment {
+ getString(R.string.stats_longitude) + " "
+ StringUtils.formatCoordinate(location.getLongitude()) + "]";
}
ListItemUtils.setTextView(getActivity(), textView, value, addShadow);
ListItemUtils.setTextView(getActivity(), viewBinding.markerDetailMarkerLocation, value, addShadow);
}
}
@@ -10,7 +10,6 @@ import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Spinner;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
@@ -105,15 +104,14 @@ public class StatisticsRecordingFragment extends Fragment implements TrackDataLi
handlerUpdateUI = new Handler();
Spinner activityTypeIcon = getView().findViewById(R.id.stats_activity_type_icon);
activityTypeIcon.setAdapter(TrackIconUtils.getIconSpinnerAdapter(getActivity(), ""));
activityTypeIcon.setOnTouchListener((v, event) -> {
viewBinding.statsActivityTypeIcon.setAdapter(TrackIconUtils.getIconSpinnerAdapter(getActivity(), ""));
viewBinding.statsActivityTypeIcon.setOnTouchListener((v, event) -> {
if (event.getAction() == MotionEvent.ACTION_UP) {
((TrackRecordingActivity) getActivity()).chooseActivityType(category);
}
return true;
});
activityTypeIcon.setOnKeyListener((v, keyCode, event) -> {
viewBinding.statsActivityTypeIcon.setOnKeyListener((v, keyCode, event) -> {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
((TrackRecordingActivity) getActivity()).chooseActivityType(category);
}
@@ -271,30 +269,28 @@ public class StatisticsRecordingFragment extends Fragment implements TrackDataLi
private void updateSensorDataUI() {
TrackRecordingServiceInterface trackRecordingService = trackRecordingServiceConnection.getServiceIfBound();
SensorDataSet sensorDataSet = null;
Float elevationGain_m = null;
if (trackRecordingService == null) {
Log.d(TAG, "Cannot get the track recording service.");
} else {
sensorDataSet = trackRecordingService.getSensorData();
elevationGain_m = trackRecordingService.getElevationGain_m();
SensorDataSet sensorDataSet = trackRecordingService.getSensorData();
if (sensorDataSet != null) {
setHeartRateSensorData(sensorDataSet);
setCadenceSensorData(sensorDataSet);
setSpeedSensorData(sensorDataSet, isSelectedTrackRecording());
}
setTotalElevationGain(trackRecordingService.getElevationGain_m());
}
setHeartRateSensorData(sensorDataSet);
setCadenceSensorData(sensorDataSet);
setSpeedSensorData(sensorDataSet, isSelectedTrackRecording());
setTotalElevationGain(elevationGain_m);
}
private void setHeartRateSensorData(SensorDataSet sensorDataSet) {
int isVisible = sensorDataSet != null ? View.VISIBLE : View.GONE;
int isVisible = sensorDataSet.getHeartRate() != null ? View.VISIBLE : View.GONE;
viewBinding.statsSensorHeartRateGroup.setVisibility(isVisible);
setVisibilitySensorHorizontalLine();
String sensorValue = getContext().getString(R.string.value_unknown);
String sensorName = getContext().getString(R.string.value_unknown);
if (sensorDataSet != null && sensorDataSet.getHeartRate() != null) {
if (sensorDataSet.getHeartRate() != null) {
SensorDataHeartRate data = sensorDataSet.getHeartRate();
sensorName = data.getSensorNameOrAddress();
@@ -308,13 +304,13 @@ public class StatisticsRecordingFragment extends Fragment implements TrackDataLi
}
private void setCadenceSensorData(SensorDataSet sensorDataSet) {
int isVisible = sensorDataSet != null ? View.VISIBLE : View.GONE;
int isVisible = sensorDataSet.getCyclingCadence() != null ? View.VISIBLE : View.GONE;
viewBinding.statsSensorCadenceGroup.setVisibility(isVisible);
setVisibilitySensorHorizontalLine();
String sensorValue = getContext().getString(R.string.value_unknown);
String sensorName = getContext().getString(R.string.value_unknown);
if (sensorDataSet != null && sensorDataSet.getCyclingCadence() != null) {
if (sensorDataSet.getCyclingCadence() != null) {
SensorDataCycling.Cadence data = sensorDataSet.getCyclingCadence();
sensorName = data.getSensorNameOrAddress();
@@ -501,6 +497,6 @@ public class StatisticsRecordingFragment extends Fragment implements TrackDataLi
Pair<String, String> parts = StringUtils.getSpeedParts(getContext(), speed, metricUnits, reportSpeed);
viewBinding.statsSpeedValue.setText(parts.first);
viewBinding.statsSpeedLabel.setText(parts.second);
viewBinding.statsSpeedUnit.setText(parts.second);
}
}