package com.smartdot.cgt.util; import java.util.List; import android.app.Activity; import android.app.AlertDialog; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.provider.MediaStore; import android.util.Log; import android.widget.ArrayAdapter; import com.smartdot.cgt.R; import com.smartdot.cgt.model.DictTypeModel; import com.smartdot.cgt.view.SoundRecorder; public class ActivityTools { public static final String NEEDGETLOCATION = "needGetLocation"; public static final int GETLOCATION_NONE = -1; public static final int GETLOCATION_EVENT = 11000; public static final int GETLOCATION_PART = 11001; public static final int GETLOCATION_SHOP = 11002; private static ActivityTools instance; private static Object lock = new Object(); public static ActivityTools getInstance() { synchronized (lock) { if (instance == null) { instance = new ActivityTools(); } } return instance; } public ArrayAdapter < DictTypeModel > getSpinAdapter(List < DictTypeModel > dictTypeList, Context context) { ArrayAdapter < DictTypeModel > spinAdapter = new ArrayAdapter < DictTypeModel >(context, R.layout.simple_spinner_item); spinAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item); if (dictTypeList != null && dictTypeList.size() > 0) { for (DictTypeModel caseType : dictTypeList) { spinAdapter.add(caseType); } } return spinAdapter; } public ArrayAdapter < DictTypeModel > getSpinAdapter(String noSelectString, List < DictTypeModel > dictTypeList, Context context) { ArrayAdapter < DictTypeModel > spinAdapter = new ArrayAdapter < DictTypeModel >(context, R.layout.simple_spinner_item); spinAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item); spinAdapter.add(new DictTypeModel("", noSelectString, "")); if (dictTypeList != null && dictTypeList.size() > 0) { for (DictTypeModel caseType : dictTypeList) { spinAdapter.add(caseType); } } return spinAdapter; } public ArrayAdapter < DictTypeModel > getSpinAdapter(int noSelectStringId, List < DictTypeModel > dictTypeList, Context context) { return this.getSpinAdapter(context.getResources().getString(noSelectStringId), dictTypeList, context); } public ArrayAdapter < CharSequence > getSpinAdapter(int textArrayResId, Context context) { ArrayAdapter < CharSequence > spinAdapter = ArrayAdapter.createFromResource(context, textArrayResId, R.layout.simple_spinner_item); spinAdapter.setDropDownViewResource(R.layout.simple_spinner_dropdown_item); return spinAdapter; } /** * */ public void takePicture(final int selectPhotoId, final int takePhotoId, final Activity activity) { final CharSequence[] items = new CharSequence[] { "图库中选取", "照相机拍摄" }; Msg.showChoiceDialog(activity, "选取图片", items, false, new MsgCallback() { @Override public void callBack(Boolean result, Object[] listItem, Integer index) { if (index != null) { if (index.intValue() == 0) { Intent intent = new Intent(Intent.ACTION_PICK); intent.setType("image/*"); activity.startActivityForResult(Intent.createChooser(intent, "选择图片"), selectPhotoId); } else if (index.intValue() == 1) { Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(ApplicationMain.getInstance().getImageTempFile())); activity.startActivityForResult(Intent.createChooser(intent, "选择相机"), takePhotoId); } } } @Override public void callBack(Boolean result) { } }); } /** * */ public AlertDialog takeAudio(final SoundRecorder soundRecorder, AlertDialog soundDialog, Context context) { try { if (soundDialog == null) { soundDialog = Msg.showViewDialog(context, "录音", soundRecorder, new MsgCallback() { @Override public void callBack(Boolean result) { soundRecorder.stopRecordOrPlay(); } }); } else { soundDialog.show(); } } catch (Exception e) { Log.w("soundrecorder", e.toString()); } return soundDialog; } }