summaryrefslogtreecommitdiffstats
path: root/src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java')
-rw-r--r--src/com/android/wallpaper/livepicker/LiveWallpaperActivity.java125
1 files changed, 18 insertions, 107 deletions
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<BaseAdapter> adapterView =
- (AdapterView<BaseAdapter>) 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);
}
}
+
}