Skip to content

Commit 8c45b62

Browse files
authored
Merge pull request #35 from arduino/feature/uniform-alert-dialogs
Feature/uniform alert dialogs
2 parents eb540b4 + 4e37415 commit 8c45b62

19 files changed

+64
-28
lines changed

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/ActiveSettingsController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.google.android.apps.forscience.whistlepunk.sensorapi.ActiveBundle;
2626
import com.google.android.apps.forscience.whistlepunk.sensorapi.ReadableSensorOptions;
2727
import com.google.android.apps.forscience.whistlepunk.sensorapi.WriteableSensorOptions;
28+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
2829
import com.google.android.material.snackbar.Snackbar;
2930

3031
/**
@@ -71,7 +72,7 @@ public void launchOptionsDialog(
7172
String name,
7273
String optionsTitle,
7374
WriteableSensorOptions options) {
74-
final AlertDialog.Builder builder = new AlertDialog.Builder(context);
75+
final AlertDialog.Builder builder = new MaterialAlertDialogBuilder(context, R.style.AlertDialogTheme);
7576

7677
final Resources resources = context.getResources();
7778
if (callbacks == null) {

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/AudioSettingsDialog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import android.widget.Spinner;
2929
import com.google.android.apps.forscience.whistlepunk.accounts.AppAccount;
3030
import com.google.android.apps.forscience.whistlepunk.audiogen.SonificationTypeAdapterFactory;
31+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
32+
3133
import java.util.Arrays;
3234

3335
/** DialogFragment to display audio settings to the user. */
@@ -110,7 +112,7 @@ public AlertDialog onCreateDialog(Bundle savedInstanceState) {
110112
}
111113
sensorIds = getArguments().getStringArray(KEY_SENSOR_ID);
112114

113-
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
115+
final AlertDialog.Builder alertDialog = new MaterialAlertDialogBuilder(getActivity(), R.style.AlertDialogTheme);
114116
View rootView =
115117
LayoutInflater.from(getActivity()).inflate(R.layout.audio_settings_dialog, null);
116118
alertDialog.setView(rootView);

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/BluetoothDisabledDialog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,16 @@
2323
import androidx.fragment.app.DialogFragment;
2424
import androidx.appcompat.app.AlertDialog;
2525

26+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
27+
2628
public class BluetoothDisabledDialog extends DialogFragment {
2729
public static final String TAG = "bluetooth_disabled_dialog";
2830

2931
public BluetoothDisabledDialog() {}
3032

3133
@Override
3234
public AlertDialog onCreateDialog(Bundle savedInstanceState) {
33-
final AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
35+
final AlertDialog.Builder alertDialog = new MaterialAlertDialogBuilder(getActivity(), R.style.AlertDialogTheme);
3436
alertDialog.setMessage(R.string.bluetooth_not_on_body);
3537
alertDialog.setTitle(R.string.bluetooth_not_on_title);
3638
alertDialog.setPositiveButton(

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/ExportService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717

1818
import android.annotation.TargetApi;
1919
import android.app.Activity;
20-
import android.app.AlertDialog;
2120
import android.app.DownloadManager;
2221
import android.app.NotificationManager;
2322
import android.app.PendingIntent;
@@ -41,6 +40,7 @@
4140
import androidx.annotation.NonNull;
4241
import androidx.annotation.Nullable;
4342
import androidx.annotation.VisibleForTesting;
43+
import androidx.appcompat.app.AlertDialog;
4444
import androidx.collection.ArrayMap;
4545
import androidx.core.app.NotificationCompat;
4646
import androidx.core.content.FileProvider;
@@ -56,6 +56,7 @@
5656
import com.google.android.apps.forscience.whistlepunk.project.experiment.UpdateExperimentFragment;
5757
import com.google.android.apps.forscience.whistlepunk.sensordb.ScalarReading;
5858
import com.google.android.apps.forscience.whistlepunk.sensordb.TimeRange;
59+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
5960
import com.google.android.material.snackbar.Snackbar;
6061
import com.google.common.base.Strings;
6162
import com.google.common.collect.Range;
@@ -598,7 +599,7 @@ public void success(Experiment experiment) {
598599
saveLocally
599600
? R.string.experiment_not_finished_downloading_confirm_download_button
600601
: R.string.experiment_not_finished_downloading_confirm_button;
601-
AlertDialog.Builder builder = new AlertDialog.Builder(context);
602+
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(context, R.style.AlertDialogTheme);
602603
builder.setTitle(R.string.experiment_not_finished_downloading_title);
603604
builder.setMessage(messageId);
604605
builder.setPositiveButton(

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/StopRecordingNoDataDialog.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
import androidx.fragment.app.DialogFragment;
2424
import androidx.fragment.app.Fragment;
2525

26+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
27+
2628
/**
2729
* DialogFragment for when recording fails to stop.
2830
*/
@@ -53,7 +55,7 @@ public AlertDialog onCreateDialog(Bundle savedInstanceState) {
5355
if (getArguments() != null) {
5456
text = getArguments().getString(KEY_BODY_STRING, "");
5557
}
56-
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
58+
AlertDialog.Builder alertDialog = new MaterialAlertDialogBuilder(getActivity(), R.style.AlertDialogTheme);
5759
alertDialog.setTitle(getResources().getString(R.string.recording_stop_failed_no_data_title));
5860
alertDialog.setMessage(text);
5961
alertDialog.setNegativeButton(

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/accounts/OldUserOptionPromptActivity.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import com.google.android.apps.forscience.whistlepunk.analytics.TrackerConstants;
3636
import com.google.android.apps.forscience.whistlepunk.analytics.UsageTracker;
3737
import com.google.android.apps.forscience.whistlepunk.filemetadata.FileMetadataUtil;
38+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
3839
import com.google.android.material.snackbar.Snackbar;
3940

4041
/** Activity that lets the user choose what to do with their old experiments. */
@@ -126,7 +127,7 @@ private void showMoveAllExperimentsPrompt() {
126127
snackbarManager.showSnackbar(bar);
127128
return;
128129
}
129-
AlertDialog.Builder builder = new AlertDialog.Builder(this);
130+
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme);
130131
builder.setTitle(
131132
getResources()
132133
.getQuantityString(
@@ -202,7 +203,7 @@ view, getResources().getString(R.string.claim_failed), Snackbar.LENGTH_LONG)
202203
}
203204

204205
private void showDeleteAllPrompt() {
205-
AlertDialog.Builder builder = new AlertDialog.Builder(this);
206+
AlertDialog.Builder builder = new MaterialAlertDialogBuilder(this, R.style.AlertDialogTheme);
206207
builder.setTitle(R.string.delete_all_prompt_headline);
207208
builder.setMessage(R.string.delete_all_prompt_text);
208209
builder.setNegativeButton(android.R.string.cancel, (dialog, which) -> dialog.cancel());

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/accounts/SignInFragment.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.google.android.apps.forscience.whistlepunk.R;
3434
import com.google.android.apps.forscience.whistlepunk.WhistlePunkApplication;
3535
import com.google.android.apps.forscience.whistlepunk.analytics.TrackerConstants;
36+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
3637

3738
/**
3839
* Fragment that tells the user about saving experiments in Google Drive and prompts the user to *
@@ -83,7 +84,7 @@ private void showScienceJournalIsDisabledAlert() {
8384
WhistlePunkApplication.getUsageTracker(getActivity())
8485
.trackEvent(
8586
TrackerConstants.CATEGORY_SIGN_IN, TrackerConstants.ACTION_PERMISSION_DENIED, null, 0);
86-
AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
87+
AlertDialog.Builder alertDialog = new MaterialAlertDialogBuilder(getActivity(), R.style.AlertDialogTheme);
8788
Resources resources = getResources();
8889
alertDialog.setTitle(resources.getString(R.string.science_journal_disabled_title));
8990
alertDialog.setMessage(resources.getString(R.string.science_journal_disabled_message));

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/devicemanager/DeviceOptionsDialog.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import com.google.android.apps.forscience.whistlepunk.accounts.AppAccount;
3434
import com.google.android.apps.forscience.whistlepunk.analytics.TrackerConstants;
3535
import com.google.android.apps.forscience.whistlepunk.metadata.ExternalSensorSpec;
36+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
3637

3738
/** Presents dialog options for external devices. */
3839
public class DeviceOptionsDialog extends DialogFragment {
@@ -142,7 +143,7 @@ public void onClick(View v) {
142143
});
143144
}
144145
AlertDialog.Builder builder =
145-
new AlertDialog.Builder(getActivity())
146+
new MaterialAlertDialogBuilder(getActivity(), R.style.AlertDialogTheme)
146147
.setView(view)
147148
.setTitle(R.string.title_activity_sensor_settings)
148149
.setPositiveButton(android.R.string.ok, onOK);

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/devicemanager/MkrSciSensorOptionsDialog.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.google.android.apps.forscience.whistlepunk.metadata.ExternalSensorSpec;
2222
import com.google.android.apps.forscience.whistlepunk.metadata.MkrSciBleSensorSpec;
2323
import com.google.android.apps.forscience.whistlepunk.sensors.MkrSciBleSensor;
24+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
2425

2526
import java.util.Objects;
2627

@@ -121,7 +122,7 @@ public Dialog onCreateDialog(Bundle savedInstanceState) {
121122
loadSensorSpec(sensorId, defChecked);
122123

123124
AlertDialog.Builder builder =
124-
new AlertDialog.Builder(getActivity())
125+
new MaterialAlertDialogBuilder(getActivity(), R.style.AlertDialogTheme)
125126
.setView(view)
126127
.setTitle(R.string.title_activity_sensor_settings)
127128
.setCancelable(true)

OpenScienceJournal/whistlepunk_library/src/main/java/com/google/android/apps/forscience/whistlepunk/gdrivesync/GDriveSyncService.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.google.android.apps.forscience.whistlepunk.gdrivesync;
22

33
import android.app.Activity;
4-
import android.app.AlertDialog;
54
import android.app.Service;
65
import android.content.Context;
76
import android.content.Intent;
@@ -19,6 +18,7 @@
1918
import android.widget.Toast;
2019

2120
import androidx.annotation.Nullable;
21+
import androidx.appcompat.app.AlertDialog;
2222

2323
import com.google.android.apps.forscience.javalib.MaybeConsumer;
2424
import com.google.android.apps.forscience.javalib.Success;
@@ -32,6 +32,7 @@
3232
import com.google.android.apps.forscience.whistlepunk.filemetadata.ExperimentLibraryManager;
3333
import com.google.android.apps.forscience.whistlepunk.filemetadata.FileMetadataUtil;
3434
import com.google.android.apps.forscience.whistlepunk.filemetadata.LocalSyncManager;
35+
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
3536

3637
import java.io.File;
3738
import java.io.IOException;
@@ -376,7 +377,7 @@ private ConflictAnswer showConflict(final Context context, final AppAccount appA
376377
new Handler(Looper.getMainLooper()).post(() -> {
377378
final Activity activity = app.onNextActivity().blockingGet();
378379
if (activity != null) {
379-
AlertDialog.Builder d = new AlertDialog.Builder(activity);
380+
AlertDialog.Builder d = new MaterialAlertDialogBuilder(activity, R.style.AlertDialogTheme);
380381
d.setMessage(R.string.drive_sync_conflict);
381382
d.setNeutralButton(R.string.drive_sync_conflict_remote, (dialog, which) -> {
382383
synchronized (lock) {

0 commit comments

Comments
 (0)