Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Delete dialogs] Adapt the delete dialogs to the kids flavor. #22

Merged
merged 2 commits into from
Aug 3, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package fr.tvbarthel.apps.cameracolorpicker.fragments;

import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;

import fr.tvbarthel.apps.cameracolorpicker.R;
import fr.tvbarthel.apps.cameracolorpicker.data.ColorItem;

/**
* Static class for flavor specific behaviour of {@link DeleteColorDialogFragment}.
*/
/* package */
final class DeleteColorDialogFragmentFlavor {

/**
* Create a {@link android.app.AlertDialog} for asking the user to confirm the deletion of a {@link Palette}.
*
* @param context a {@link Context}.
* @param callback the {@link fr.tvbarthel.apps.cameracolorpicker.fragments.DeleteColorDialogFragment.Callback} that will be notify.
* @param colorItemToDelete the {@link ColorItem} to delete.
* @return a {@link AlertDialog}
*/
/* package */
static AlertDialog createDialog(Context context,
final DeleteColorDialogFragment.Callback callback,
final ColorItem colorItemToDelete) {
final View view = LayoutInflater.from(context).inflate(R.layout.fragment_dialog_delete_color, null);
view.findViewById(R.id.fragment_dialog_delete_color_preview).setBackgroundColor(colorItemToDelete.getColor());

return new AlertDialog.Builder(context)
.setView(view)
.setCancelable(true)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callback.onColorDeletionConfirmed(colorItemToDelete);
}
})
.setNegativeButton(android.R.string.cancel, null)
.create();
}

private DeleteColorDialogFragmentFlavor() {
// Non-instantiable
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package fr.tvbarthel.apps.cameracolorpicker.fragments;

import android.content.Context;
import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;

import fr.tvbarthel.apps.cameracolorpicker.R;
import fr.tvbarthel.apps.cameracolorpicker.data.Palette;
import fr.tvbarthel.apps.cameracolorpicker.views.PaletteView;

/**
* Static class for flavor specific behaviour of {@link DeletePaletteDialogFragment}.
*/
/* package */
final class DeletePaletteDialogFragmentFlavor {

/**
* Create a {@link android.app.AlertDialog} for asking the user to confirm the deletion of a {@link Palette}.
*
* @param context a {@link Context}.
* @param paletteToDelete the {@link Palette} to delete.
* @param callback the {@link fr.tvbarthel.apps.cameracolorpicker.fragments.DeletePaletteDialogFragment.Callback} that will be notify.
* @return a {@link AlertDialog}
*/
/* package */
static AlertDialog createDialog(Context context,
final Palette paletteToDelete,
final DeletePaletteDialogFragment.Callback callback) {
final View view = LayoutInflater.from(context).inflate(R.layout.fragment_dialog_delete_palette, null);
final PaletteView paletteView = (PaletteView) view.findViewById(R.id.fragment_dialog_delete_palette_preview);
final TextView messageTextView = (TextView) view.findViewById(R.id.fragment_dialog_delete_palette_message);

paletteView.setPalette(paletteToDelete);
messageTextView.setText(context.getString(R.string.fragment_dialog_delete_palette_message, paletteToDelete.getName()));

return new AlertDialog.Builder(context).setView(view)
.setCancelable(true)
.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
callback.onPaletteDeletionConfirmed(paletteToDelete);
}
})
.setNegativeButton(android.R.string.cancel, null)
.create();

}

private DeletePaletteDialogFragmentFlavor() {
// Non-instantiable
}
}
10 changes: 10 additions & 0 deletions CameraColorPicker/app/src/adult/res/values-fr/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Delete color dialog fragment -->
<string name="fragment_dialog_delete_color_title">Attention</string>
<string name="fragment_dialog_delete_color_message">Supprimer la couleur de votre téléphone ?</string>

<!-- Delete palette dialog fragment -->
<string name="fragment_dialog_delete_palette_title">Attention</string>
<string name="fragment_dialog_delete_palette_message">Supprimer la palette %1$s de votre téléphone ?</string>
</resources>
10 changes: 10 additions & 0 deletions CameraColorPicker/app/src/adult/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Delete color dialog fragment -->
<string name="fragment_dialog_delete_color_title">Warning</string>
<string name="fragment_dialog_delete_color_message">Delete the color from your phone?</string>

<!-- Delete palette dialog fragment -->
<string name="fragment_dialog_delete_palette_title">Warning</string>
<string name="fragment_dialog_delete_palette_message">Delete the palette %1$s from your phone?</string>
</resources>
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
package fr.tvbarthel.apps.cameracolorpicker.fragments;

import android.app.Dialog;
import android.content.Context;
import android.graphics.PorterDuff;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;

import fr.tvbarthel.apps.cameracolorpicker.R;
import fr.tvbarthel.apps.cameracolorpicker.data.ColorItem;
import fr.tvbarthel.apps.cameracolorpicker.data.Palette;

/**
* Static class for flavor specific behaviour of {@link DeleteColorDialogFragment}.
*/
/* package */
final class DeleteColorDialogFragmentFlavor {

/**
* Create a {@link android.app.AlertDialog} for asking the user to confirm the deletion of a {@link Palette}.
*
* @param context a {@link Context}.
* @param callback the {@link fr.tvbarthel.apps.cameracolorpicker.fragments.DeleteColorDialogFragment.Callback} that will be notify.
* @param colorItemToDelete the {@link ColorItem} to delete.
* @return a {@link AlertDialog}
*/
/* package */
static Dialog createDialog(Context context,
final DeleteColorDialogFragment.Callback callback,
final ColorItem colorItemToDelete) {
final View view = LayoutInflater.from(context).inflate(R.layout.fragment_dialog_delete_color, null);
final int color = colorItemToDelete.getColor();

view.findViewById(R.id.fragment_dialog_delete_color_preview).setBackgroundColor(color);
view.findViewById(R.id.fragment_dialog_delete_color_preview_circle)
.getBackground().mutate().setColorFilter(color, PorterDuff.Mode.SRC);


final AlertDialog alertDialog = new AlertDialog.Builder(context)
.setCancelable(true)
.setView(view)
.create();

view.findViewById(R.id.fragment_dialog_delete_color_btn_validate).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.onColorDeletionConfirmed(colorItemToDelete);
alertDialog.dismiss();
}
});

view.findViewById(R.id.fragment_dialog_delete_color_btn_cancel).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
alertDialog.dismiss();
}
});

return alertDialog;
}

private DeleteColorDialogFragmentFlavor() {
// Non-instantiable
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
package fr.tvbarthel.apps.cameracolorpicker.fragments;

import android.content.Context;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;

import fr.tvbarthel.apps.cameracolorpicker.R;
import fr.tvbarthel.apps.cameracolorpicker.data.Palette;
import fr.tvbarthel.apps.cameracolorpicker.views.PaletteView;

/**
* Static class for flavor specific behaviour of {@link DeletePaletteDialogFragment}.
*/
/* package */
final class DeletePaletteDialogFragmentFlavor {

/**
* Create a {@link android.app.AlertDialog} for asking the user to confirm the deletion of a {@link Palette}.
*
* @param context a {@link Context}.
* @param paletteToDelete the {@link Palette} to delete.
* @param callback the {@link fr.tvbarthel.apps.cameracolorpicker.fragments.DeletePaletteDialogFragment.Callback} that will be notify.
* @return a {@link AlertDialog}
*/
/* package */
static AlertDialog createDialog(Context context,
final Palette paletteToDelete,
final DeletePaletteDialogFragment.Callback callback) {
final View view = LayoutInflater.from(context).inflate(R.layout.fragment_dialog_delete_palette, null);
((PaletteView) view.findViewById(R.id.fragment_dialog_delete_palette_preview)).setPalette(paletteToDelete);
((PaletteView) view.findViewById(R.id.fragment_dialog_delete_palette_preview_small)).setPalette(paletteToDelete);

final AlertDialog dialog = new AlertDialog.Builder(context).setView(view)
.setCancelable(true)
.create();

view.findViewById(R.id.fragment_dialog_delete_palette_btn_cancel)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});

view.findViewById(R.id.fragment_dialog_delete_palette_btn_validate)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
callback.onPaletteDeletionConfirmed(paletteToDelete);
dialog.dismiss();
}
});


return dialog;
}

private DeletePaletteDialogFragmentFlavor() {
// Non-instantiable
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<vector android:height="56dp" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="56dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M22,12l-4,-4v3H3v2h15v3z"/>
</vector>
4 changes: 4 additions & 0 deletions CameraColorPicker/app/src/kids/res/drawable/ic_check_42dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<vector android:height="42dp" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="42dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z"/>
</vector>
4 changes: 4 additions & 0 deletions CameraColorPicker/app/src/kids/res/drawable/ic_close_42dp.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<vector android:height="42dp" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="42dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
</vector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<vector android:height="42dp" android:viewportHeight="24.0"
android:viewportWidth="24.0" android:width="42dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#FF000000" android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z"/>
</vector>
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:minWidth="300dp"
android:orientation="vertical">

<View
android:id="@+id/fragment_dialog_delete_color_preview"
android:layout_width="match_parent"
android:layout_height="56dp"
tools:background="#334F56" />

<ImageView
android:layout_width="62dp"
android:layout_height="62dp"
android:layout_margin="@dimen/default_padding"
android:src="@drawable/ic_warning_42dp"
android:tint="#ab0000" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/default_padding"
android:layout_marginTop="@dimen/default_padding"
android:gravity="center"
android:orientation="horizontal">

<fr.tvbarthel.apps.cameracolorpicker.views.ColorDotView
android:id="@+id/fragment_dialog_delete_color_preview_circle"
android:layout_width="@dimen/row_color_item_preview_size"
android:layout_height="@dimen/row_color_item_preview_size"
android:layout_gravity="center"
android:background="@drawable/oval_white" />

<ImageView
android:layout_width="56dp"
android:layout_height="56dp"
android:src="@drawable/ic_arrow_right_56dp"
android:tint="#585858" />

<ImageView
android:layout_width="56dp"
android:layout_height="56dp"
android:src="@drawable/ic_action_delete"
android:tint="#585858" />

</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:weightSum="2">

<ImageView
android:id="@+id/fragment_dialog_delete_color_btn_cancel"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:background="?selectableItemBackground"
android:scaleType="centerInside"
android:src="@drawable/ic_close_42dp" />

<ImageView
android:id="@+id/fragment_dialog_delete_color_btn_validate"
android:layout_width="0dp"
android:layout_height="56dp"
android:layout_weight="1"
android:background="?selectableItemBackground"
android:scaleType="centerInside"
android:src="@drawable/ic_check_42dp" />
</LinearLayout>


</LinearLayout>