package com.parttime.main; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Matrix; import android.media.ExifInterface; import android.net.Uri; import android.os.Bundle; import android.os.Environment; import android.provider.MediaStore; import android.view.Display; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.android.volley.DefaultRetryPolicy; import com.android.volley.Request.Method; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.carson.constant.ConstantForSaveList; import com.lidroid.xutils.ViewUtils; import com.lidroid.xutils.view.annotation.ViewInject; import com.parttime.base.IntentManager; import com.parttime.common.Image.ContactImageLoader; import com.parttime.mine.EditMyIntroActivity; import com.parttime.mine.FreshManGuideActivity; import com.parttime.mine.MyFansActivity; import com.parttime.mine.MyWalletActivity; import com.parttime.mine.PraiseRecvedActivity; import com.parttime.mine.RealNameCertSelectActivity; import com.parttime.mine.SuggestionActivity; import com.parttime.mine.setting.SettingActivity; import com.parttime.net.BaseRequest; import com.parttime.net.Callback; import com.parttime.net.ErrorHandler; import com.parttime.pojo.CertVo; import com.parttime.type.AccountType; import com.parttime.type.CertStatus; import com.parttime.widget.FormItem; import com.parttime.widget.RankView; import com.qingmu.jianzhidaren.R; import com.quark.common.JsonUtil; import com.quark.common.Url; import com.quark.fragment.company.BaseFragment; import com.quark.image.UploadImg; import com.quark.jianzhidaren.BaseActivity; import com.quark.model.Function; import com.quark.ui.widget.CommonWidget; import com.quark.ui.widget.CustomDialog; import com.quark.utils.Util; import com.quark.utils.WaitDialog; import com.quark.volley.VolleySington; import org.json.JSONObject; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * 设置 商家 用户公用 * * @author howe * */ public class MyFragment extends BaseFragment implements OnClickListener { private static final String IMAGE_FILE_NAME = "faceImage.jpg";// 图片名称 private static final int CERT_PASSED = 2; private static final int IMAGE_REQUEST_CODE = 0; private static final int CAMERA_REQUEST_CODE = 1; private static final int RESULT_REQUEST_CODE = 2; private String user_id; private String miandarao_url;// 设置商家免打扰 private String get_miandarao_status_url;// 获取商家免打扰状态 private int moneyPool, tip;// 活动提醒 private int miandarao;// 商家免打扰 protected WaitDialog dialog; protected RequestQueue queue = VolleySington.getInstance() .getRequestQueue(); private View view; SharedPreferences sp; private Bitmap userPhotoBmp = null; private String uploadAvatarUrl; private String company_id, url; Function function; public static MyFragment newInstance(String param1, String param2) { MyFragment fragment = new MyFragment(); return fragment; } public MyFragment() { } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); sp = getActivity().getSharedPreferences("jrdr.setting", Context.MODE_PRIVATE); company_id = sp.getString("userId", ""); url = Url.COMPANY_function + "?token=" + MainTabActivity.token; uploadAvatarUrl = Url.COMPANY_upload_avatar + "?token=" + MainTabActivity.token; } @Override public void onStart() { super.onStart(); getMyInfo(); } private void updateView(){ if(function != null){ String avatar = function.getAvatar(); ContactImageLoader.loadNativePhoto(null, avatar, ivHead, VolleySington.getInstance().getRequestQueue()); tvName.setText(function.getName()); // tvScore.setText(getString(R.string.x_scores, function.getPoint())); rvRank.rank((int) function.getPoint()); String certString = getCertString(); // tvCertState.setText(certString); tvCertState.setText(getCertStringForIcon()); if(function.getType() == AccountType.AGENT) { fiMyFans.setValue(getString(R.string.x_ge_in_chinese, function.getFollowers())); fiMyFans.setVisibility(View.VISIBLE); } fiMyBalance.setValue(getString(R.string.x_rmb, function.getMoney())); fiRealNameCert.setValue(certString); } } private String getCertString(){ if(function != null){ int company_status = function.getCompany_status(); int type = function.getType(); if(company_status == CertStatus.CERT_PASSED){ if(type == AccountType.PERSONAL){ return getString(R.string.personal_certed); }else if(type == AccountType.ENTERPRISE){ return getString(R.string.enterprise_certed); }else if(type == AccountType.AGENT){ return getString(R.string.agent_certed); } }else if(company_status == CertStatus.CERTING && type != AccountType.INIT){ return getString(R.string.waiting_for_checking); } } return getString(R.string.not_certed); } public String getCertStringForIcon(){ if(function != null){ int company_status = function.getCompany_status(); if(company_status == CertStatus.CERT_PASSED){ return getString(R.string.certed); } } return getString(R.string.not_certed); } private void getMyInfo(){ Map<String, String> params = new HashMap<String, String>(); params.put("company_id", company_id); new BaseRequest().request(url, params, VolleySington.getInstance() .getRequestQueue(), new Callback() { @Override public void success(Object obj) { JSONObject json = (JSONObject) obj; function = (Function) JsonUtil.jsonToBean(json, Function.class); updateView(); saveInfor(); } @Override public void failed(Object obj) { } }); // StringRequest request = new StringRequest(Method.POST, url, new Response.Listener<String>() { // @Override // public void onResponse(String s) { // try { // JSONObject json = new JSONObject(s); // function = (Function) JsonUtil.jsonToBean(json, Function.class); // updateView(); // saveInfor(); // } catch (JSONException e) { // e.printStackTrace(); // } // } // }, new Response.ErrorListener() { // @Override // public void onErrorResponse(VolleyError volleyError) { // // } // }){ // @Override // protected Map<String, String> getParams() throws AuthFailureError { // Map<String, String> params = new HashMap<String, String>(); // params.put("company_id", company_id); // return params; // } // }; // // queue.add(request); // request.setRetryPolicy(new DefaultRetryPolicy( // ConstantForSaveList.DEFAULTRETRYTIME * 1000, 1, 1.0f)); } @ViewInject(R.id.fi_my_intro) private FormItem fiMyIntro; @ViewInject(R.id.fi_my_fans) private FormItem fiMyFans; @ViewInject(R.id.fi_my_balance) private FormItem fiMyBalance; @ViewInject(R.id.fi_praise_recved) private FormItem fiPraiseRecved; @ViewInject(R.id.fi_real_name_cert) private FormItem fiRealNameCert; @ViewInject(R.id.fi_fresh_man_guide) private FormItem fiFreshManGuide; @ViewInject(R.id.fi_suggestion) private FormItem fiSuggestion; @ViewInject(R.id.fi_setting) private FormItem fiSetting; @ViewInject(R.id.iv_head) private ImageView ivHead; @ViewInject(R.id.tv_businessman) private TextView tvName; // @ViewInject(R.id.tv_score) // private TextView tvScore; @ViewInject(R.id.rv_rank) private RankView rvRank; @ViewInject(R.id.tv_cert_state) private TextView tvCertState; @ViewInject(R.id.tv_title) private TextView tvTitle; private void bindListeners(){ fiMyIntro.setOnClickListener(this); fiMyFans.setOnClickListener(this); fiFreshManGuide.setOnClickListener(this); fiMyBalance.setOnClickListener(this); fiPraiseRecved.setOnClickListener(this); fiRealNameCert.setOnClickListener(this); fiSetting.setOnClickListener(this); fiSuggestion.setOnClickListener(this); ivHead.setOnClickListener(this); } @Override public void onResume() { super.onResume(); // 先加载缓存 loadHuncunFirst(); } /** * 先加载缓存 * */ private void loadHuncunFirst() { Bitmap bitmap = ContactImageLoader.get(user_id); if(bitmap != null){ ivHead.setImageBitmap(bitmap); } // TextView textView = (TextView) view.findViewById(R.id.name); // textView.setText(sp.getString(company_id + "name", "未知")); // tvName.setText(sp.getString(company_id + "name", "未知")); // ImageView yan_img = (ImageView) view.findViewById(R.id.yan_img); // if (sp.getInt(company_id + "status", 0) == 2) { // yan_img.setImageResource(R.drawable.my_certified); // } else { // yan_img.setImageResource(R.drawable.my_unauthorized); // yan_img.setOnClickListener(yanzhengOnclick); // } // TextView money = (TextView) view.findViewById(R.id.money); // money.setText(sp.getInt(company_id + "money", 0) + "元"); // cover_user_photo = (CircularImage) view // .findViewById(R.id.cover_user_photo); // if (sp.getString("c" + company_id + "_photo", "") == null // || sp.getString("c" + company_id + "_photo", "").equals("")) { // ivHead.setImageDrawable(getResources().getDrawable( // R.drawable.photo_male)); // } else { // loadNativePhotoFirst(); // } // TextView renzheng = (TextView) view.findViewById(R.id.renzheng); // if (sp.getInt(company_id + "status", 0) == 2) { // renzheng.setText("已认证"); // } else { // renzheng.setText("未认证"); // } } /** * 初次进来先加载本地缓存头像 * */ private void loadNativePhotoFirst() { File mePhotoFold = new File(Environment.getExternalStorageDirectory() + "/" + "jzdr/" + "image"); if (!mePhotoFold.exists()) { mePhotoFold.mkdirs(); } File picture_1 = new File(Environment.getExternalStorageDirectory() + "/" + "jzdr/" + "image/" + sp.getString("c" + company_id + "_photo", "a")); if (picture_1.exists()) { // 加载本地图片 // Bitmap bb_bmp = MyResumeActivity.zoomImg(picture_1, 300, 300); Bitmap bb_bmp = BitmapFactory.decodeFile(Environment .getExternalStorageDirectory() + "/" + "jzdr/" + "image/" + sp.getString("c" + company_id + "_photo", "a")); if (bb_bmp != null) { ivHead .setImageBitmap(bb_bmp); } } } @Override public void onDestroy() { super.onDestroy(); Editor edt = sp.edit(); edt.putInt("tip", tip); edt.putInt("miandarao", miandarao); edt.commit(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { view = inflater.inflate(R.layout.fragment_my, container, false); ViewUtils.inject(this, view); tvTitle.setText(R.string.mine); bindListeners(); // // carson初始化控件 // check_lineLayout = (LinearLayout) view.findViewById(R.id.checkUpdate); // editTelephone_linelayout = (LinearLayout) view // .findViewById(R.id.editTelephone); // editPassword_linelayout = (LinearLayout) view // .findViewById(R.id.editPassword); // jianyi_linelayout = (LinearLayout) view.findViewById(R.id.jianyi); // loginOut_linelayout = (LinearLayout) view.findViewById(R.id.loginOut); // check_lineLayout.setOnClickListener(this); // editTelephone_linelayout.setOnClickListener(this); // editPassword_linelayout.setOnClickListener(this); // jianyi_linelayout.setOnClickListener(this); // loginOut_linelayout.setOnClickListener(this); // 免打扰url miandarao_url = Url.COMPANY_MIANDARAO + "?token=" + MainTabActivity.token; // 获取免打扰url get_miandarao_status_url = Url.COMPANY_MIANDARAO_STATUS + "?token=" + MainTabActivity.token; sp = getActivity().getSharedPreferences("jrdr.setting", android.content.Context.MODE_PRIVATE); user_id = sp.getString("userId", ""); // *********预加载************ // 设置奖金池 moneyPool = sp.getInt("pool_money", 0); miandarao = sp.getInt("miandarao", 0); tip = sp.getInt("tip", 0); // TextView text = (TextView) view.findViewById(R.id.moneyPool); // text.setText(moneyPool + ""); // 商家端时隐藏 getMiandarao(); // company_hit1.setVisibility(View.GONE); // company_hit2.setVisibility(View.GONE); // company_hit3.setVisibility(View.GONE); // company_hit4.setVisibility(View.GONE); // init_miandarao();// 获取免打扰状态 // miandarao_kaiguan_on.setOnClickListener(new OnClickListener() { // @Override // public void onClick(View arg0) { // // 开启免打扰时,点击监听 // miandarao_kaiguan_off.setVisibility(View.VISIBLE); // miandarao_kaiguan_on.setVisibility(View.GONE); // miandarao = 0;// 表示关闭了商家免打扰,任何人都能与商家聊天 // miandarao_switch_btn();// 设置商家免打扰 // } // }); // miandarao_kaiguan_off.setOnClickListener(new OnClickListener() { // @Override // public void onClick(View arg0) { // // 免打扰关闭时,点击监听 // miandarao_kaiguan_off.setVisibility(View.GONE); // miandarao_kaiguan_on.setVisibility(View.VISIBLE); // miandarao = 1;// 表示开启了商家免打扰,只允许好友与商家聊天 // miandarao_switch_btn(); // } // }); // 飞机轮播池 // LinearLayout feijichi = (LinearLayout) view.findViewById(R.id.feijichi); // feijichi.setOnClickListener(new OnClickListener() { // // @Override // public void onClick(View v) { // Intent intent = new Intent(); // intent.setClass(getActivity(), FeiJichiActivity.class); // startActivity(intent); // } // }); // ImageView infoOperatingIV = (ImageView) view // .findViewById(R.id.infoOperating); // Animation operatingAnim = AnimationUtils.loadAnimation(getActivity(), // R.anim.roraterepeat); // LinearInterpolator lin = new LinearInterpolator(); // operatingAnim.setInterpolator(lin); // if (operatingAnim != null) { // infoOperatingIV.startAnimation(operatingAnim); // } // 免打扰url // miandarao_url = Url.COMPANY_MIANDARAO + "?token=" // + MainTabActivity.token; return view; } /** * sava info */ private void saveInfor() { Editor edt = sp.edit(); edt.putString(company_id + "name", function.getName()); // edt.putString("c" + company_id + "realname", function.getName()); edt.putInt(company_id + "status", function.getStatus()); edt.putFloat(company_id + "money", function.getMoney() > 0 ? function.getMoney() : 0); edt.putString("c" + company_id + "_photo", function.getAvatar()); edt.putString(company_id + "_photo", function.getAvatar()); edt.commit(); } // 默认消息免打扰 /*private void init_miandarao() { // showWait(true); StringRequest stringRequest = new StringRequest(Method.POST, get_miandarao_status_url, new Response.Listener<String>() { @Override public void onResponse(String response) { // showWait(false); try { JSONObject js = new JSONObject(response); miandarao = js.getInt("disturb"); // 处理money返回null的情况 try { moneyPool = js.getInt("money"); } catch (JSONException e) { moneyPool = 0; } // getMoneyPool(); // getMiandarao(); } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { // showWait(false); } }) { @Override protected Map<String, String> getParams() { Map<String, String> map = new HashMap<String, String>(); map.put("company_id", user_id); return map; } }; queue.add(stringRequest); stringRequest.setRetryPolicy(new DefaultRetryPolicy( ConstantForSaveList.DEFAULTRETRYTIME * 1000, 1, 1.0f)); }*/ /** * 预加载免打扰开关 * */ private void getMiandarao() { // miandarao_kaiguan_on = (ImageView) view // .findViewById(R.id.miandarao_kaiguan_on); // miandarao_kaiguan_off = (ImageView) view // .findViewById(R.id.miandarao_kaiguan_off); // // if (miandarao == 1) { // miandarao_kaiguan_on.setVisibility(View.VISIBLE); // miandarao_kaiguan_off.setVisibility(View.GONE); // } else { // miandarao_kaiguan_on.setVisibility(View.GONE); // miandarao_kaiguan_off.setVisibility(View.VISIBLE); // } } protected void getTixing() { // kaiguan_on = (ImageView) view.findViewById(R.id.kaiguan_on); // kaiguan_off = (ImageView) view.findViewById(R.id.kaiguan_off); // // if (tip == 1) { // kaiguan_on.setVisibility(View.VISIBLE); // kaiguan_off.setVisibility(View.GONE); // } else { // kaiguan_on.setVisibility(View.GONE); // kaiguan_off.setVisibility(View.VISIBLE); // } } /** * 是否开启商家免打扰 */ private void miandarao_switch_btn() { StringRequest stringRequest = new StringRequest(Method.POST, miandarao_url, new Response.Listener<String>() { @Override public void onResponse(String response) { } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError arg0) { } }) { @Override protected Map<String, String> getParams() { Map<String, String> map = new HashMap<String, String>(); map.put("company_id", user_id); map.put("disturb", miandarao + ""); return map; } }; queue.add(stringRequest); stringRequest.setRetryPolicy(new DefaultRetryPolicy( ConstantForSaveList.DEFAULTRETRYTIME * 1000, 1, 1.0f)); } /** * 读取图片的旋转的角度 * * @param path * 图片绝对路径 * @return 图片的旋转角度 */ private int getBitmapDegree(String path) { int degree = 0; try { // 从指定路径下读取图片,并获取其EXIF信息 ExifInterface exifInterface = new ExifInterface(path); // 获取图片的旋转信息 int orientation = exifInterface.getAttributeInt( ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL); switch (orientation) { case ExifInterface.ORIENTATION_ROTATE_90: degree = 90; break; case ExifInterface.ORIENTATION_ROTATE_180: degree = 180; break; case ExifInterface.ORIENTATION_ROTATE_270: degree = 270; break; } } catch (IOException e) { e.printStackTrace(); } return degree; } /** * 将图片按照某个角度进行旋转 * * @param bm * 需要旋转的图片 * @param degree * 旋转角度 * @return 旋转后的图片 */ private Bitmap rotateBitmapByDegree(Bitmap bm, int degree) { Bitmap returnBm = null; // 根据旋转角度,生成旋转矩阵 Matrix matrix = new Matrix(); matrix.postRotate(degree); try { // 将原始图片按照旋转矩阵进行旋转,并得到新的图片 returnBm = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true); } catch (OutOfMemoryError e) { } if (returnBm == null) { returnBm = bm; } if (bm != returnBm) { bm.recycle(); } return returnBm; } /** * 裁剪图片方法实现 * * @param uri */ public void startPhotoZoom(Uri uri, int x, int y) { ConstantForSaveList.uploadUri = uri;// 暂时存储uri 如htc不能保存uri Intent intent = new Intent("com.android.camera.action.CROP"); intent.setDataAndType(uri, "image/*"); // 设置裁剪 intent.putExtra("crop", "true"); // aspectX aspectY 是宽高的比例 intent.putExtra("aspectX", x); intent.putExtra("aspectY", y); // outputX outputY 是裁剪图片宽高 intent.putExtra("outputX", x); intent.putExtra("outputY", y); intent.putExtra("noFaceDetection", true);// 取消人脸识别 intent.putExtra("return-data", false); startActivityForResult(intent, RESULT_REQUEST_CODE); } private void afterTakePhoto(){ if (Util.hasSdcard()) { File tempFile = new File( Environment.getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME); // BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inJustDecodeBounds = true; userPhotoBmp = BitmapFactory.decodeFile( Environment.getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME, opt); // 获取到这个图片的原始宽度和高度 int picWidth = opt.outWidth; int picHeight = opt.outHeight; // 获取屏的宽度和高度 WindowManager windowManager = mActivity.getWindowManager(); Display display = windowManager.getDefaultDisplay(); int screenWidth = display.getWidth(); int screenHeight = display.getHeight(); opt.inSampleSize = 2; if (picWidth > picHeight) { if (picWidth > screenWidth) opt.inSampleSize = picWidth / screenWidth; } else { if (picHeight > screenHeight) opt.inSampleSize = picHeight / screenHeight; } int degree = getBitmapDegree(Environment .getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME); opt.inJustDecodeBounds = false; userPhotoBmp = BitmapFactory.decodeFile( Environment.getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME, opt); userPhotoBmp = rotateBitmapByDegree(userPhotoBmp, degree); Uri tt_uri = null; try { // tt_uri = // Uri.parse(MediaStore.Images.Media.insertImage( // getActivity().getContentResolver(), // Environment.getExternalStorageDirectory() + "/" // + IMAGE_FILE_NAME, null, null)); tt_uri = Uri.parse(MediaStore.Images.Media.insertImage( getActivity().getContentResolver(), userPhotoBmp, null, null)); } catch (Exception e) { e.printStackTrace(); tt_uri = Uri.fromFile(tempFile); } if (tt_uri != null) { startPhotoZoom(tt_uri, 300, 300); } else { Toast mToast = Toast.makeText(getActivity(), "未找到存储卡,无法存储照片!", Toast.LENGTH_LONG); mToast.setGravity(Gravity.CENTER, 0, 0); mToast.show(); } } else { Toast mToast = Toast.makeText(getActivity(), "未找到存储卡,无法存储照片!", Toast.LENGTH_LONG); mToast.setGravity(Gravity.CENTER, 0, 0); mToast.show(); } } private void afterGetPhoto(Intent data){ if (data.getData() != null) { startPhotoZoom(data.getData(), 300, 300); } else { Toast mToast = Toast.makeText(getActivity(), "获取图片失败。。。", Toast.LENGTH_LONG); mToast.setGravity(Gravity.CENTER, 0, 0); mToast.show(); } } private void afterTakePhoto(Intent data){ if (Util.hasSdcard()) { File tempFile = new File( Environment.getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME); // BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inJustDecodeBounds = true; userPhotoBmp = BitmapFactory.decodeFile( Environment.getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME, opt); // 获取到这个图片的原始宽度和高度 int picWidth = opt.outWidth; int picHeight = opt.outHeight; // 获取屏的宽度和高度 WindowManager windowManager = mActivity.getWindowManager(); Display display = windowManager.getDefaultDisplay(); int screenWidth = display.getWidth(); int screenHeight = display.getHeight(); opt.inSampleSize = 2; if (picWidth > picHeight) { if (picWidth > screenWidth) opt.inSampleSize = picWidth / screenWidth; } else { if (picHeight > screenHeight) opt.inSampleSize = picHeight / screenHeight; } int degree = getBitmapDegree(Environment .getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME); opt.inJustDecodeBounds = false; userPhotoBmp = BitmapFactory.decodeFile( Environment.getExternalStorageDirectory() + "/" + IMAGE_FILE_NAME, opt); userPhotoBmp = rotateBitmapByDegree(userPhotoBmp, degree); Uri tt_uri = null; try { // tt_uri = // Uri.parse(MediaStore.Images.Media.insertImage( // getActivity().getContentResolver(), // Environment.getExternalStorageDirectory() + "/" // + IMAGE_FILE_NAME, null, null)); tt_uri = Uri.parse(MediaStore.Images.Media.insertImage( getActivity().getContentResolver(), userPhotoBmp, null, null)); } catch (Exception e) { e.printStackTrace(); tt_uri = Uri.fromFile(tempFile); } if (tt_uri != null) { startPhotoZoom(tt_uri, 300, 300); } else { Toast mToast = Toast.makeText(getActivity(), "未找到存储卡,无法存储照片!", Toast.LENGTH_LONG); mToast.setGravity(Gravity.CENTER, 0, 0); mToast.show(); } } else { Toast mToast = Toast.makeText(getActivity(), "未找到存储卡,无法存储照片!", Toast.LENGTH_LONG); mToast.setGravity(Gravity.CENTER, 0, 0); mToast.show(); } } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Activity activity = getActivity(); if(activity == null || !isAdded()){ return ; } if(activity != null){ if(resultCode != Activity.RESULT_OK){ return; } switch (requestCode){ case IMAGE_REQUEST_CODE: afterGetPhoto(data); break; case CAMERA_REQUEST_CODE: afterTakePhoto(data); break; case RESULT_REQUEST_CODE: if (data != null) { Toast mToast = Toast.makeText(getActivity(), R.string.wait_while_uploading_avatar, Toast.LENGTH_LONG); mToast.setGravity(Gravity.CENTER, 0, 0); mToast.show(); UploadImg.getImageToView(getActivity(), data, ivHead, uploadAvatarUrl, null, null, null, "avatar", null, "company_id", company_id, null, null); } break; } } } // protected void getMoneyPool() { // TextView text = (TextView) view.findViewById(R.id.moneyPool); // text.setText(moneyPool + ""); // saveInfor(moneyPool); // } protected void showWait(boolean isShow) { if (isShow) { if (null == dialog) { dialog = new WaitDialog(getActivity()); } dialog.show(); } else { if (null != dialog) { dialog.dismiss(); } } } /** * 检查更新 */ // carson 屏蔽点击更新 /* * @OnClick(R.id.checkUpdate) public void checkUpdateOnclick(View v) { * String ui = update_info.getText().toString(); if (ui.equals("发现新版本")) { * UmengUpdateAgent.setUpdateAutoPopup(true); * UmengUpdateAgent.setUpdateOnlyWifi(false); * UmengUpdateAgent.forceUpdate(getActivity()); } else { * showAlertDialog("您当前的版本已是最新版本,无需升级", "已是最新版本"); } } */ public void showAlertDialog(String str, final String str2) { CustomDialog.Builder builder = new CustomDialog.Builder(getActivity()); builder.setMessage(str); builder.setTitle(str2); builder.setPositiveButton("加油吧", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); builder.create().show(); } private void goToActivity(Class activityClz){ Activity activity = getActivity(); if(activity != null && !activity.isFinishing() && isAdded()) { Intent intent = new Intent(activity, activityClz); activity.startActivity(intent); } } private void myIntro(){ goToActivity(EditMyIntroActivity.class); } private void myFans(){ goToActivity(MyFansActivity.class); } private void myBalance(){ goToActivity(MyWalletActivity.class); } private void praiseRecved(){ goToActivity(PraiseRecvedActivity.class); } private void realNameCert(){ if(function == null){ return; } if(function.getType() == AccountType.INIT){ CertVo vo = new CertVo(); vo.certStatus = CertStatus.NO_CERT; vo.accountType = AccountType.INIT; IntentManager.intentToRealNameSelectActivity((BaseActivity) getActivity(), vo); return; } showWait(true); Map<String, String> params = new HashMap<>(); params.put("company_id", user_id); new BaseRequest().request(Url.COMPANY_SHOW_AUTH, params, VolleySington.getInstance().getRequestQueue(), new Callback() { @Override public void success(Object obj) { if(getActivity() != null && isAdded()) { showWait(false); try { JSONObject json = (JSONObject) obj; JSONObject companyInfo = json.getJSONObject("companyInfo"); int type = companyInfo.getInt("type"); String name = companyInfo.getString("name"); String identity = companyInfo.getString("identity"); String identityFront = companyInfo.getString("identity_front"); String identityBack = companyInfo.getString("identity_verso"); int status = companyInfo.getInt("status"); String regId = null; if(companyInfo.has("company_code")) { regId = companyInfo.getString("company_code"); } String regidPic = null; if(companyInfo.has("company_picture")) { regidPic = companyInfo.getString("company_picture"); } CertVo certVo = new CertVo(type, status, name, identity, identityFront, identityBack, regId, regidPic); if(status != CertStatus.CERT_PASSED){ IntentManager.intentToBeforeCertedActivity((BaseActivity) getActivity(), certVo); // Intent intent = new Intent(getActivity(), ) /*if(type == AccountType.PERSONAL){ }else if(type == AccountType.ENTERPRISE){ }else if(type == AccountType.AGENT){ }*/ }else { IntentManager.intentToAfterCertedActivity((BaseActivity) getActivity(), certVo); } /* 1:待审核 2:审核通过 3:审核不通过 0:尚未提交审核 */ } catch (Exception e) { new ErrorHandler((BaseActivity) getActivity(), e); } } } @Override public void failed(Object obj) { if(getActivity() != null && isAdded()) { showWait(false); new ErrorHandler((BaseActivity) getActivity(), obj).showToast(); } } }); // goToActivity(RealNameCertSelectActivity.class); } private void freshManGuide(){ goToActivity(FreshManGuideActivity.class); } private void suggestion(){ goToActivity(SuggestionActivity.class); } private void setting(){ goToActivity(SettingActivity.class); } /** * carson设置点击监听 */ @Override public void onClick(View v) { if (user_id.equals("")) { CommonWidget.showAlertDialog(getActivity(), getActivity(), "您还没有登录,注册登录后才可以查看哦!", "温馨提示", "随便看看"); } else { switch (v.getId()){ case R.id.fi_my_intro: myIntro(); break; case R.id.fi_my_fans: myFans(); break; case R.id.fi_my_balance: myBalance(); break; case R.id.fi_praise_recved: praiseRecved(); break; case R.id.fi_real_name_cert: realNameCert(); break; case R.id.fi_fresh_man_guide: freshManGuide(); break; case R.id.fi_suggestion: suggestion(); break; case R.id.fi_setting: setting(); break; case R.id.iv_head: showSheetPic(); break; } // Intent intent = new Intent(); // switch (arg0.getId()) { // case R.id.checkUpdate: // showAlertDialog("当前版本已是最新版本,敬请期待下一版本", "温馨提示"); // break; // case R.id.editTelephone: // intent.setClass(getActivity(), EditPhoneActivity.class); // startActivity(intent); // break; // case R.id.editPassword: // intent.setClass(getActivity(), ModifyPwdActivity.class); // startActivity(intent); // break; // case R.id.jianyi: // intent.setClass(getActivity(), SuggestActivity.class); // startActivity(intent); // break; // case R.id.loginOut: // loginOut(); // break; // default: // break; // } } } public Dialog showSheetPic() { final Dialog dlg = new Dialog(getActivity(), R.style.ActionSheet); LayoutInflater inflater = (LayoutInflater) getActivity() .getSystemService(Context.LAYOUT_INFLATER_SERVICE); LinearLayout layout = (LinearLayout) inflater.inflate( R.layout.actionsheet, null); final int cFullFillWidth = 10000; layout.setMinimumWidth(cFullFillWidth); TextView mContent = (TextView) layout.findViewById(R.id.content);// 拍照上传 TextView mCancel = (TextView) layout.findViewById(R.id.cancel); TextView mTitle = (TextView) layout.findViewById(R.id.title);// 相册中选择 // 拍照上传 mContent.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intentFromCapture = new Intent( MediaStore.ACTION_IMAGE_CAPTURE); if (Util.hasSdcard()) { File s = Environment.getExternalStorageDirectory(); intentFromCapture.putExtra(MediaStore.EXTRA_OUTPUT, Uri .fromFile(new File(Environment .getExternalStorageDirectory(), IMAGE_FILE_NAME))); } else { Toast mToast = Toast.makeText(getActivity(), "未找到存储卡,无法存储照片!", Toast.LENGTH_LONG); mToast.setGravity(Gravity.CENTER, 0, 0); mToast.show(); } startActivityForResult(intentFromCapture, CAMERA_REQUEST_CODE); dlg.dismiss(); } }); mTitle.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intentFromGallery = new Intent(); intentFromGallery.setType("image/*"); // 设置文件类型 intentFromGallery.setAction(Intent.ACTION_PICK); startActivityForResult(intentFromGallery, IMAGE_REQUEST_CODE); dlg.dismiss(); } }); mCancel.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dlg.dismiss(); } }); Window w = dlg.getWindow(); WindowManager.LayoutParams lp = w.getAttributes(); lp.x = 0; final int cMakeBottom = -1000; lp.y = cMakeBottom; lp.gravity = Gravity.BOTTOM; dlg.onWindowAttributesChanged(lp); dlg.setCanceledOnTouchOutside(false); dlg.setContentView(layout); dlg.show(); return dlg; } }