Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 94a8998b authored by Andy Mast's avatar Andy Mast
Browse files

Show dialog if max number of fingerprints has been reached

Change-Id: I3890c48a9e73257240c7ed22a38729f32557e288

Conflicts:
	res/values/cm_strings.xml
parent 566d04b9
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -31,6 +31,5 @@
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:singleLine="true"
          android:paddingLeft="24dp"
          android:maxLength="20"/>
</LinearLayout>
+4 −0
Original line number Diff line number Diff line
@@ -1286,4 +1286,8 @@
    <string name="fingerprint_dialog_title_rename">Edit fingerprint</string>
    <!-- EditText label for renaming your fingerprint in rename dialog -->
    <string name="fingerprint_dialog_name_label">Fingerprint name</string>
    <!-- Title for dialog that shows when the user cannot add anymore fingers -->
    <string name="fingerprint_dialog_title_max_fingers_reached">Max fingerprints reached</string>
    <!-- Message for dialog that shows when the user cannot add anymore fingers -->
    <string name="fingerprint_dialog_msg_max_fingers_reached">You can only enroll <xliff:g id="finger" example="5 fingerprints">%d</xliff:g> fingerprints. Delete an existing fingerprint.</string>
</resources>
+43 −1
Original line number Diff line number Diff line
@@ -150,6 +150,8 @@ public class ManageFingerprints extends SettingsActivity {
    }

    public static class FingerprintListFragment extends Fragment {
        public static final int MAX_NUM_FINGERPRINTS = 5;

        private FingerprintAdapter mAdapter;
        private ListView mFingerList;
        private FingerprintManager mFpManager;
@@ -191,8 +193,14 @@ public class ManageFingerprints extends SettingsActivity {
        }

        private void addFinger() {
        }
            // Check if we can actually add more fingerprints
            if (mAdapter.getCount() - 1 == MAX_NUM_FINGERPRINTS)  {
                DialogFragment dialogFragment = MaxNumFingerprintsDialog.newInstance();
                dialogFragment.show(getChildFragmentManager(), "MaxFingers");
            } else {

            }
        }
        public void doRename(Fingerprint fingerprint, String name) {
            mFpManager.setFingerprintName(fingerprint.getFingerId(), name);
            mAdapter.notifyDataSetChanged();
@@ -291,6 +299,15 @@ public class ManageFingerprints extends SettingsActivity {
                Holder holder = (Holder) convertView.getTag();
                holder.mName.setText(R.string.fingerprint_item_add_new_fingerprint);
                holder.mImage.setImageResource(R.drawable.ic_add_black_18dp);

                if (mFingerprints.size() == FingerprintListFragment.MAX_NUM_FINGERPRINTS) {
                    holder.mImage.setAlpha(0.5f);
                    holder.mName.setAlpha(0.5f);
                } else {
                    holder.mImage.setAlpha(1f);
                    holder.mName.setAlpha(1f);
                }

            }

            return convertView;
@@ -369,4 +386,29 @@ public class ManageFingerprints extends SettingsActivity {
            return dialog;
        }
    }

    public static class MaxNumFingerprintsDialog extends DialogFragment {
        static MaxNumFingerprintsDialog newInstance() {
            return new MaxNumFingerprintsDialog();
        }

        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
            String msg = getString(R.string.fingerprint_dialog_msg_max_fingers_reached,
                    FingerprintListFragment.MAX_NUM_FINGERPRINTS);

            AlertDialog dialog = new AlertDialog.Builder(getActivity())
                    .setTitle(R.string.fingerprint_dialog_title_max_fingers_reached)
                    .setPositiveButton(R.string.ok,
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int whichButton) {
                                    dismiss();
                                }
                            }
                    )
                    .setMessage(msg)
                    .create();
            return dialog;
        }
    }
}