From 702996867bf80dd6652a46303cc06568e6f78369 Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Mon, 31 Aug 2015 16:51:34 -0700 Subject: Updating the LiveWallpaperPicker UI > Using the settings theme > Removing GirdLayout usage, using ListView with appropriate padding > Removing trampoline activity when starting wallpaper preview Change-Id: Iea12a8c1c6d6cdc0682add07e1b9565827da71c8 --- .../livepicker/LiveWallpaperActivity.java | 125 +++------------------ .../wallpaper/livepicker/LiveWallpaperChange.java | 44 ++------ .../livepicker/LiveWallpaperListAdapter.java | 3 - .../wallpaper/livepicker/LiveWallpaperPreview.java | 37 +++--- 4 files changed, 47 insertions(+), 162 deletions(-) (limited to 'src/com/android/wallpaper') diff --git a/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java b/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java index d8de4e1..9dd29c4 100644 --- a/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java +++ b/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java @@ -16,39 +16,25 @@ package com.android.wallpaper.livepicker; -import android.app.Activity; -import android.app.AlertDialog; -import android.app.Dialog; -import android.app.DialogFragment; -import android.app.Fragment; +import android.app.ListActivity; import android.app.WallpaperInfo; -import android.os.Bundle; -import android.content.DialogInterface; import android.content.Intent; -import android.util.Log; -import android.view.LayoutInflater; +import android.os.Bundle; import android.view.View; -import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.BaseAdapter; +import android.widget.ListView; -public class LiveWallpaperActivity extends Activity { - private static final String LOG_TAG = "LiveWallpapersPicker"; +public class LiveWallpaperActivity extends ListActivity { private static final int REQUEST_PREVIEW = 100; + private LiveWallpaperListAdapter mAdapter; + @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.live_wallpaper_base); - Fragment fragmentView = getFragmentManager().findFragmentById(R.id.live_wallpaper_fragment); - if (fragmentView == null) { - /* When the screen is XLarge, the fragment is not included in the layout, so show it - * as a dialog - */ - DialogFragment fragment = WallpaperDialog.newInstance(); - fragment.show(getFragmentManager(), "dialog"); - } + mAdapter = new LiveWallpaperListAdapter(this); + setListAdapter(mAdapter); } @Override @@ -60,91 +46,16 @@ public class LiveWallpaperActivity extends Activity { } } - public static class WallpaperDialog extends DialogFragment implements - AdapterView.OnItemClickListener{ - private static final String EMBEDDED_KEY = "com.android.wallpaper.livepicker." - + "LiveWallpaperActivity$WallpaperDialog.EMBEDDED_KEY"; - private LiveWallpaperListAdapter mAdapter; - private boolean mEmbedded; - - public static WallpaperDialog newInstance() { - WallpaperDialog dialog = new WallpaperDialog(); - dialog.setCancelable(true); - return dialog; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - if (savedInstanceState != null && savedInstanceState.containsKey(EMBEDDED_KEY)) { - mEmbedded = savedInstanceState.getBoolean(EMBEDDED_KEY); - } else { - mEmbedded = isInLayout(); - } - } - - @Override - public void onSaveInstanceState(Bundle outState) { - outState.putBoolean(EMBEDDED_KEY, mEmbedded); - } - - @Override - public void onDismiss(DialogInterface dialog) { - /* On orientation changes, the dialog is effectively "dismissed" so this is called - * when the activity is no longer associated with this dying dialog fragment. We - * should just safely ignore this case by checking if getActivity() returns null - */ - Activity activity = getActivity(); - if (activity != null) { - activity.finish(); - } - } - - @Override - public Dialog onCreateDialog(Bundle savedInstanceState) { - final int contentInset = getResources().getDimensionPixelSize( - R.dimen.dialog_content_inset); - View view = generateView(getActivity().getLayoutInflater(), null); - - AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); - builder.setNegativeButton(R.string.wallpaper_cancel, null); - builder.setTitle(R.string.live_wallpaper_picker_title); - builder.setView(view, contentInset, contentInset, contentInset, contentInset); - return builder.create(); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - /* If this fragment is embedded in the layout of this activity, then we should - * generate a view to display. Otherwise, a dialog will be created in - * onCreateDialog() - */ - if (mEmbedded) { - return generateView(inflater, container); - } - return null; - } - - @SuppressWarnings("unchecked") - private View generateView(LayoutInflater inflater, ViewGroup container) { - View layout = inflater.inflate(R.layout.live_wallpaper_list, container, false); - - mAdapter = new LiveWallpaperListAdapter(getActivity()); - AdapterView adapterView = - (AdapterView) layout.findViewById(android.R.id.list); - adapterView.setAdapter(mAdapter); - adapterView.setOnItemClickListener(this); - adapterView.setEmptyView(layout.findViewById(android.R.id.empty)); - return layout; - } - - public void onItemClick(AdapterView parent, View view, int position, long id) { - LiveWallpaperListAdapter.LiveWallpaperInfo wallpaperInfo = - (LiveWallpaperListAdapter.LiveWallpaperInfo) mAdapter.getItem(position); - final Intent intent = wallpaperInfo.intent; - final WallpaperInfo info = wallpaperInfo.info; - LiveWallpaperPreview.showPreview(getActivity(), REQUEST_PREVIEW, intent, info); + @Override + protected void onListItemClick(ListView l, View v, int position, long id) { + LiveWallpaperListAdapter.LiveWallpaperInfo wallpaperInfo = + (LiveWallpaperListAdapter.LiveWallpaperInfo) mAdapter.getItem(position); + final WallpaperInfo info = wallpaperInfo.info; + if (info != null) { + Intent preview = new Intent(this, LiveWallpaperPreview.class); + preview.putExtra(LiveWallpaperPreview.EXTRA_LIVE_WALLPAPER_INFO, info); + startActivityForResult(preview, REQUEST_PREVIEW); } } + } diff --git a/src/com/android/wallpaper/livepicker/LiveWallpaperChange.java b/src/com/android/wallpaper/livepicker/LiveWallpaperChange.java index 586bdb0..efaf563 100644 --- a/src/com/android/wallpaper/livepicker/LiveWallpaperChange.java +++ b/src/com/android/wallpaper/livepicker/LiveWallpaperChange.java @@ -16,32 +16,26 @@ package com.android.wallpaper.livepicker; -import java.io.IOException; -import java.util.List; - -import org.xmlpull.v1.XmlPullParserException; - -import android.app.Activity; import android.app.WallpaperInfo; import android.app.WallpaperManager; -import android.os.Bundle; -import android.os.Parcelable; import android.content.ComponentName; import android.content.Intent; import android.content.pm.PackageManager; -import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ResolveInfo; -import android.content.pm.ServiceInfo; +import android.os.Parcelable; import android.service.wallpaper.WallpaperService; import android.util.Log; -public class LiveWallpaperChange extends Activity { +import org.xmlpull.v1.XmlPullParserException; + +import java.io.IOException; +import java.util.List; + +public class LiveWallpaperChange extends LiveWallpaperPreview { private static final String TAG = "CHANGE_LIVE_WALLPAPER"; @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - + protected void init() { Parcelable obj = getIntent().getParcelableExtra( WallpaperManager.EXTRA_LIVE_WALLPAPER_COMPONENT); if (obj == null || !(obj instanceof ComponentName)) { @@ -63,21 +57,16 @@ public class LiveWallpaperChange extends Activity { for (int i=0; i