package com.casic.gasoperation.utils; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Environment; import android.provider.MediaStore; import android.widget.ArrayAdapter; import java.io.File; import java.io.IOException; import java.text.MessageFormat; import java.util.List; import com.casic.gasoperation.R; //import com.casic.gasoperation.utils.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 String getImageTempPath() { return getImageTempFile().getAbsolutePath(); } 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 String getConfigPath(String fileName) { File cgtPath = new File(Environment.getExternalStorageDirectory().getPath() + "/cgt/"); if (!cgtPath.exists()) { cgtPath.mkdirs(); } return MessageFormat.format("{0}{1}", Environment.getExternalStorageDirectory().getPath() + "/cgt/", fileName); } public File getConfigTempPath(String fileName) { String tmpPath = getConfigPath("temp"); File tmpDir = new File(tmpPath); if (!tmpDir.exists()) { tmpDir.mkdirs(); } File tmpFile = new File(tmpPath, fileName); if (!tmpFile.exists()) { try { tmpFile.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } return tmpFile; } public File getImageTempFile() { File tmpImage = getConfigTempPath("tmpImage.jpg"); if (!tmpImage.exists()) { try { tmpImage.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } return tmpImage; } /** * */ 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(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; // } }