package com.wangdaye.mysplash.common.ui.dialog; import android.annotation.SuppressLint; import android.app.AlertDialog; import android.app.Dialog; import android.os.Build; import android.os.Bundle; import android.support.design.widget.CoordinatorLayout; import android.view.LayoutInflater; import android.view.View; import android.widget.LinearLayout; import com.github.rahatarmanahmed.cpv.CircularProgressView; import com.wangdaye.mysplash.R; import com.wangdaye.mysplash.common._basic.MysplashDialogFragment; import com.wangdaye.mysplash.common.ui.activity.SetWallpaperActivity; import com.wangdaye.mysplash.common.utils.AnimUtils; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnClick; /** * Wallpaper where dialog. * * This dialog is used to select where to set picture as wallpaper. * * */ public class WallpaperWhereDialog extends MysplashDialogFragment { @BindView(R.id.dialog_wallpaper_where_container) CoordinatorLayout container; @BindView(R.id.dialog_wallpaper_where_progress) CircularProgressView progressView; @BindView(R.id.dialog_wallpaper_where_selector) LinearLayout selector; private OnWhereSelectedListener listener; @SuppressLint("InflateParams") @Override public Dialog onCreateDialog(Bundle savedInstanceState) { super.onCreateDialog(savedInstanceState); View view = LayoutInflater.from(getActivity()) .inflate(R.layout.dialog_wallpaper_where, null, false); ButterKnife.bind(this, view); initWidget(); return new AlertDialog.Builder(getActivity()) .setView(view) .create(); } @Override public CoordinatorLayout getSnackbarContainer() { return container; } private void initWidget() { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { progressView.setVisibility(View.GONE); selector.setVisibility(View.VISIBLE); } else { progressView.setVisibility(View.VISIBLE); selector.setVisibility(View.GONE); if (listener != null) { listener.onWhereSelected(SetWallpaperActivity.WHERE_WALLPAPER); } } } // interface. // on where selected listener. public interface OnWhereSelectedListener { void onWhereSelected(@SetWallpaperActivity.WallpaperWhereRule int where); } public void setOnWhereSelectedListener(OnWhereSelectedListener l) { this.listener = l; } // on click listener. @OnClick(R.id.dialog_wallpaper_where_wallpaper) void clickWallpaper() { if (listener != null) { listener.onWhereSelected(SetWallpaperActivity.WHERE_WALLPAPER); } setCancelable(false); AnimUtils.animShow(progressView); AnimUtils.animHide(selector); } @OnClick(R.id.dialog_wallpaper_where_lockscreen) void clickLockScreen() { if (listener != null) { listener.onWhereSelected(SetWallpaperActivity.WHERE_LOCKSCREEN); } setCancelable(false); AnimUtils.animShow(progressView); AnimUtils.animHide(selector); } @OnClick(R.id.dialog_wallpaper_where_all) void clickAll() { if (listener != null) { listener.onWhereSelected(SetWallpaperActivity.WHERE_WALL_LOCK); } setCancelable(false); AnimUtils.animShow(progressView); AnimUtils.animHide(selector); } }