Skip to content

Commit 3767752

Browse files
authored
feat: improve apps toggle and cooldown timer picker (#479)
* save cooldown time on save click to prevent accidental time cahnge on picker scroll * Update code Apps filter page, status is not required
1 parent 07b3b76 commit 3767752

File tree

5 files changed

+15
-17
lines changed

5 files changed

+15
-17
lines changed

app/src/main/java/com/parishod/watomatic/fragment/MainFragment.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.parishod.watomatic.fragment;
22

33
import android.app.Activity;
4-
import android.app.ActivityManager;
54
import android.content.ActivityNotFoundException;
65
import android.content.ComponentName;
76
import android.content.Context;
@@ -20,15 +19,12 @@
2019
import android.view.View;
2120
import android.view.ViewGroup;
2221
import android.widget.Button;
23-
import android.widget.ImageButton;
24-
import android.widget.ImageView;
2522
import android.widget.LinearLayout;
2623
import android.widget.TextView;
2724
import android.widget.Toast;
2825

2926
import androidx.annotation.NonNull;
3027
import androidx.annotation.Nullable;
31-
import androidx.appcompat.widget.Toolbar;
3228
import androidx.core.app.ActivityCompat;
3329
import androidx.core.content.ContextCompat;
3430
import androidx.fragment.app.Fragment;
@@ -42,7 +38,6 @@
4238
import com.parishod.watomatic.activity.about.AboutActivity;
4339
import com.parishod.watomatic.activity.contactselector.ContactSelectorActivity;
4440
import com.parishod.watomatic.activity.customreplyeditor.CustomReplyEditorActivity;
45-
import com.parishod.watomatic.activity.enabledapps.EnabledAppsActivity;
4641
import com.parishod.watomatic.activity.main.MainActivity;
4742
import com.parishod.watomatic.activity.settings.SettingsActivity;
4843
import com.parishod.watomatic.model.App;
@@ -86,7 +81,7 @@ public class MainFragment extends Fragment implements DialogActionListener {
8681
BottomNavigationView bottomNav;
8782
Button editButton;
8883
private int gitHubReleaseNotesId = -1;
89-
private int selectedCooldownTime;
84+
private int selectedCooldownTime = -1;
9085
private TextView replyCooldownDescription, messageTypeDescription;
9186
private LinearLayout contactsFilterLL, messagesTypeLL, supportedAppsLL, replyCooldownLL;
9287
private TextView enabledAppsCount;
@@ -630,7 +625,6 @@ private void showAppsDialog() {
630625
R.drawable.ic_android_default_round,
631626
app.getName(),
632627
app.getPackageName(),
633-
"Auto-reply disabled", // or make this dynamic
634628
app.getPackageName().equals("com.whatsapp") ? true : false
635629
);
636630
appItems.add(item);
@@ -639,7 +633,7 @@ private void showAppsDialog() {
639633
DialogConfig config = new DialogConfig(
640634
DialogType.APPS,
641635
"Apps",
642-
"", // description not needed for this dialog
636+
"Select the apps you want to enable auto-reply for.", // description not needed for this dialog
643637
false, // showSearch
644638
"Search",
645639
"",
@@ -687,7 +681,7 @@ private void showCooldownDialog() {
687681
"This prevents sending multiple replies in quick succession.",
688682
false, // showSearch not needed
689683
"", // searchHint not needed
690-
"",
684+
"Save",
691685
cooldownOptions
692686
);
693687

@@ -699,9 +693,13 @@ private void showCooldownDialog() {
699693
@Override
700694
public void onSaveClicked(DialogType dialogType) {
701695
if (dialogType == DialogType.COOLDOWN) {
702-
long cooldownInMillis = selectedCooldownTime * 60 * 1000L;
703-
preferencesManager.setAutoReplyDelay(cooldownInMillis);
704-
Toast.makeText(mActivity, "Cooldown settings saved", Toast.LENGTH_SHORT).show();
696+
if(selectedCooldownTime != -1) {
697+
long cooldownInMillis = selectedCooldownTime * 60 * 1000L;
698+
preferencesManager.setAutoReplyDelay(cooldownInMillis);
699+
updateCooldownFilterDisplay();
700+
Toast.makeText(mActivity, "Cooldown settings saved", Toast.LENGTH_SHORT).show();
701+
}
702+
selectedCooldownTime = -1;//reset so that no accidental cahnges on going back to cooldown page
705703
}
706704
}
707705

@@ -730,9 +728,9 @@ public void onSearchQuery(String query) {
730728
@Override
731729
public void onCooldownChanged(int totalMinutes) {
732730
selectedCooldownTime = totalMinutes;
733-
long cooldownInMillis = selectedCooldownTime * 60 * 1000L;
731+
/*long cooldownInMillis = selectedCooldownTime * 60 * 1000L;
734732
preferencesManager.setAutoReplyDelay(cooldownInMillis);
735-
updateCooldownFilterDisplay();
733+
updateCooldownFilterDisplay();*/
736734
Log.d("Dialog", "Total cooldown time: " + totalMinutes);
737735
}
738736
}

app/src/main/java/com/parishod/watomatic/model/adapters/AppsAdapter.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ class AppsAdapter(
4545
holder.icon.setImageResource(item.iconRes)
4646
}
4747
holder.name.text = item.name
48-
holder.status.text = item.status
4948
holder.toggle.isChecked = PreferencesManager.getPreferencesInstance(holder.icon.context).isAppEnabled(item.packageName)
5049

5150
holder.toggle.setOnCheckedChangeListener { _, isChecked ->

app/src/main/java/com/parishod/watomatic/model/adapters/CooldownAdapter.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ class CooldownAdapter(
6060
setupNumberPicker(holder)
6161
notifyTimeChange()
6262
}
63+
notifyTimeChange()
6364
}
6465

6566
private fun setupNumberPicker(holder: ViewHolder) {

app/src/main/java/com/parishod/watomatic/model/data/DialogTypes.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ data class AppItem(
88
val iconRes: Int,
99
val name: String,
1010
val packageName: String,
11-
val status: String,
1211
val isEnabled: Boolean = false
1312
) : DialogItem
1413

app/src/main/res/layout/item_app_toggle.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
android:textColor="?android:attr/textColorSecondary"
4242
android:layout_marginTop="2dp"
4343
android:maxLines="1"
44-
android:ellipsize="end" />
44+
android:ellipsize="end"
45+
android:visibility="gone"/>
4546

4647
</LinearLayout>
4748

0 commit comments

Comments
 (0)