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