timePicker added
This commit is contained in:
parent
7346bae086
commit
caf656be60
@ -5,6 +5,8 @@ import android.app.TimePickerDialog;
|
||||
|
||||
import androidx.lifecycle.Observer;
|
||||
|
||||
import com.google.android.material.timepicker.MaterialTimePicker;
|
||||
import com.google.android.material.timepicker.TimeFormat;
|
||||
import com.nexgo.oaf.apiv3.SdkResult;
|
||||
import com.utsmyanmar.baselib.fragment.DataBindingFragment;
|
||||
import com.utsmyanmar.baselib.util.DataBindingConfig;
|
||||
@ -155,15 +157,15 @@ public class TransactionSummaryFragment extends DataBindingFragment {
|
||||
summaryViewModel.startDate.postValue(selectedDate);
|
||||
// LogUtil.d(TAG, "Start date updated: " + selectedDate);
|
||||
// STATIC START TIME
|
||||
summaryViewModel.startHr.setValue("00");
|
||||
summaryViewModel.startMin.setValue("00");
|
||||
// summaryViewModel.startHr.setValue("00");
|
||||
// summaryViewModel.startMin.setValue("00");
|
||||
summaryViewModel.startDayOrNight.setValue(getString(R.string.txt_am));
|
||||
} else {
|
||||
String selectedDate = dateFormat.format(myCalendar2.getTime());
|
||||
summaryViewModel.endDate.postValue(selectedDate);
|
||||
// STATIC END TIME
|
||||
summaryViewModel.endHr.setValue("23");
|
||||
summaryViewModel.endMin.setValue("59");
|
||||
// summaryViewModel.endHr.setValue("23");
|
||||
// summaryViewModel.endMin.setValue("59");
|
||||
summaryViewModel.endDayOrNight.setValue(getString(R.string.txt_pm));
|
||||
// LogUtil.d(TAG, "End date updated: " + selectedDate);
|
||||
}
|
||||
@ -471,39 +473,92 @@ public class TransactionSummaryFragment extends DataBindingFragment {
|
||||
}
|
||||
|
||||
public void onClickStartHr() {
|
||||
showTimePicker(startTime, myCalendar);
|
||||
// showTimePicker(startTime, myCalendar);
|
||||
showMaterialTimePicker(myCalendar, true);
|
||||
}
|
||||
|
||||
public void onClickEndHr() {
|
||||
showTimePicker(endTime, myCalendar2);
|
||||
// showTimePicker(endTime, myCalendar2);
|
||||
showMaterialTimePicker(myCalendar2, false);
|
||||
}
|
||||
|
||||
public void onClickStartMin() {
|
||||
showTimePicker(startTime, myCalendar);
|
||||
// showTimePicker(startTime, myCalendar);
|
||||
showMaterialTimePicker(myCalendar, true);
|
||||
}
|
||||
|
||||
public void onClickEndMin() {
|
||||
showTimePicker(endTime, myCalendar2);
|
||||
// showTimePicker(endTime, myCalendar2);
|
||||
showMaterialTimePicker(myCalendar2, false);
|
||||
}
|
||||
|
||||
public void onClickStartDayOrNight() {
|
||||
showTimePicker(startTime, myCalendar);
|
||||
// showTimePicker(startTime, myCalendar);
|
||||
showMaterialTimePicker(myCalendar, true);
|
||||
}
|
||||
|
||||
public void onClickEndDayOrNight() {
|
||||
showTimePicker(endTime, myCalendar2);
|
||||
// showTimePicker(endTime, myCalendar2);
|
||||
showMaterialTimePicker(myCalendar2, false);
|
||||
}
|
||||
|
||||
private void showTimePicker(TimePickerDialog.OnTimeSetListener listener, Calendar calendar) {
|
||||
try {
|
||||
TimePickerDialog timePickerDialog = new TimePickerDialog(requireContext(),
|
||||
listener, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), false);
|
||||
TimePickerDialog timePickerDialog =
|
||||
new TimePickerDialog(
|
||||
requireContext(),
|
||||
listener,
|
||||
calendar.get(Calendar.HOUR_OF_DAY),
|
||||
calendar.get(Calendar.MINUTE),
|
||||
false);
|
||||
|
||||
timePickerDialog.show();
|
||||
} catch (Exception e) {
|
||||
LogUtil.e(TAG, "Error showing time picker: " + e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private void showMaterialTimePicker(
|
||||
Calendar calendar,
|
||||
boolean isStart
|
||||
) {
|
||||
MaterialTimePicker timePicker = new MaterialTimePicker.Builder()
|
||||
.setTimeFormat(TimeFormat.CLOCK_24H)
|
||||
.setHour(calendar.get(Calendar.HOUR_OF_DAY))
|
||||
.setMinute(calendar.get(Calendar.MINUTE))
|
||||
.setInputMode(MaterialTimePicker.INPUT_MODE_KEYBOARD)
|
||||
.setTitleText("Select Time")
|
||||
.build();
|
||||
|
||||
timePicker.addOnPositiveButtonClickListener(v -> {
|
||||
int hour = timePicker.getHour();
|
||||
int minute = timePicker.getMinute();
|
||||
|
||||
calendar.set(Calendar.HOUR_OF_DAY, hour);
|
||||
calendar.set(Calendar.MINUTE, minute);
|
||||
|
||||
String amPm = hour >= 12
|
||||
? getString(R.string.txt_pm)
|
||||
: getString(R.string.txt_am);
|
||||
|
||||
if (isStart) {
|
||||
summaryViewModel.startHr.setValue(String.format(Locale.getDefault(), "%02d", hour));
|
||||
summaryViewModel.startMin.setValue(String.format(Locale.getDefault(), "%02d", minute));
|
||||
summaryViewModel.startDayOrNight.setValue(amPm);
|
||||
} else {
|
||||
summaryViewModel.endHr.setValue(String.format(Locale.getDefault(), "%02d", hour));
|
||||
summaryViewModel.endMin.setValue(String.format(Locale.getDefault(), "%02d", minute));
|
||||
summaryViewModel.endDayOrNight.setValue(amPm);
|
||||
}
|
||||
|
||||
LogUtil.d(TAG, (isStart ? "Start" : "End") +
|
||||
" time selected: " + hour + ":" + minute);
|
||||
});
|
||||
|
||||
timePicker.show(getParentFragmentManager(), "material_time_picker");
|
||||
}
|
||||
|
||||
|
||||
public void onPrint() {
|
||||
try {
|
||||
if (summaryViewModel.validateField()) {
|
||||
|
||||
@ -189,7 +189,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone"
|
||||
android:visibility="visible"
|
||||
android:gravity="center">
|
||||
|
||||
<!-- Hour -->
|
||||
@ -406,7 +406,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:visibility="gone"
|
||||
android:visibility="visible"
|
||||
android:gravity="center">
|
||||
|
||||
<!-- Hour -->
|
||||
@ -540,7 +540,7 @@
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
||||
<!-- Cancel Button -->
|
||||
<Button
|
||||
<androidx.appcompat.widget.AppCompatButton
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="52dp"
|
||||
android:layout_weight="1"
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
<resources>
|
||||
<!-- Base application theme. -->
|
||||
<!-- DarkActionBar-->
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
|
||||
<!-- <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">-->
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
@ -25,7 +25,7 @@
|
||||
<item name="iconTint">@color/white</item>
|
||||
</style>
|
||||
|
||||
<style name="DefaultDialogStyle" parent="android:Theme.Holo.Light.Dialog">
|
||||
<style name="DefaultDialogStyle" parent="Theme.MaterialComponents.Light.Dialog">
|
||||
<item name="android:windowFrame">@null</item>
|
||||
<item name="android:windowNoTitle">true</item>
|
||||
<item name="android:windowIsFloating">true</item>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user