Home | History | Annotate | Download | only in camera
      1 /*
      2  * Copyright (C) 2007 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package com.android.camera;
     18 
     19 import android.content.Intent;
     20 import android.net.Uri;
     21 import android.os.Bundle;
     22 
     23 /**
     24  * Wallpaper picker for the camera application. This just redirects to the
     25  * standard pick action.
     26  */
     27 public class Wallpaper extends NoSearchActivity {
     28     @SuppressWarnings("unused")
     29     private static final String TAG = "Wallpaper";
     30     private static final int PHOTO_PICKED = 1;
     31     private static final int CROP_DONE = 2;
     32 
     33     @Override
     34     protected void onCreate(Bundle icicle) {
     35         super.onCreate(icicle);
     36 
     37         Uri imageToUse = getIntent().getData();
     38         if (imageToUse != null) {
     39             Intent intent = new Intent();
     40             intent.setClass(this, CropImage.class);
     41             intent.setData(imageToUse);
     42             formatIntent(intent);
     43             startActivityForResult(intent, CROP_DONE);
     44         } else {
     45             Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
     46             intent.setType("image/*");
     47             intent.putExtra("crop", "true");
     48             formatIntent(intent);
     49             startActivityForResult(intent, PHOTO_PICKED);
     50         }
     51     }
     52 
     53     protected void formatIntent(Intent intent) {
     54         int width = getWallpaperDesiredMinimumWidth();
     55         int height = getWallpaperDesiredMinimumHeight();
     56         intent.putExtra("outputX",         width);
     57         intent.putExtra("outputY",         height);
     58         intent.putExtra("aspectX",         width);
     59         intent.putExtra("aspectY",         height);
     60         intent.putExtra("scale",           true);
     61         intent.putExtra("noFaceDetection", true);
     62         intent.putExtra("setWallpaper",    true);
     63     }
     64 
     65     @Override
     66     protected void onActivityResult(int requestCode, int resultCode,
     67                                     Intent data) {
     68         if ((requestCode == PHOTO_PICKED || requestCode == CROP_DONE)) {
     69             setResult(resultCode);
     70             finish();
     71         }
     72     }
     73 }
     74