1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369 |
- package com.electric.chargingpile.activity;
- import android.Manifest;
- import android.app.Activity;
- import android.content.Context;
- import android.content.Intent;
- import android.graphics.Bitmap;
- import android.graphics.BitmapFactory;
- import android.graphics.Canvas;
- import android.graphics.Matrix;
- import android.graphics.Paint;
- import android.graphics.PorterDuff;
- import android.graphics.PorterDuffXfermode;
- import android.graphics.Rect;
- import android.graphics.RectF;
- import android.graphics.drawable.BitmapDrawable;
- import android.graphics.drawable.Drawable;
- import android.net.Uri;
- import android.os.Build;
- import android.os.Bundle;
- import android.os.Environment;
- import android.os.Handler;
- import android.os.Message;
- import android.provider.MediaStore;
- import androidx.core.content.FileProvider;
- import android.text.TextUtils;
- import android.util.Log;
- import android.view.Gravity;
- import android.view.KeyEvent;
- import android.view.LayoutInflater;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.ViewGroup;
- import android.view.animation.AnimationUtils;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.CompoundButton;
- import android.widget.EditText;
- import android.widget.ImageView;
- import android.widget.PopupWindow;
- import android.widget.RelativeLayout;
- import android.widget.Spinner;
- import android.widget.TextView;
- import android.widget.Toast;
- import android.widget.ToggleButton;
- import com.electric.chargingpile.R;
- import com.electric.chargingpile.application.MainApplication;
- import com.electric.chargingpile.data.Cars;
- import com.electric.chargingpile.data.Province;
- import com.electric.chargingpile.manager.ProfileManager;
- import com.electric.chargingpile.util.BarColorUtil;
- import com.electric.chargingpile.util.DES3;
- import com.electric.chargingpile.util.JsonUtils;
- import com.electric.chargingpile.util.LoadingDialog;
- import com.electric.chargingpile.util.LogUtils;
- import com.electric.chargingpile.util.OkHttpUtil;
- import com.electric.chargingpile.util.PhotoUtils;
- import com.electric.chargingpile.util.StatusConstants;
- import com.electric.chargingpile.util.ToastUtil;
- import com.electric.chargingpile.util.UploadUtil;
- import com.electric.chargingpile.view.CustomProgressDialog;
- import com.electric.chargingpile.view.RoundImageView;
- import com.electric.chargingpile.view.xrichtext.SDCardUtil;
- import com.squareup.okhttp.Request;
- import com.squareup.okhttp.Response;
- import com.squareup.picasso.Picasso;
- import com.squareup.picasso.Target;
- import com.umeng.analytics.MobclickAgent;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.io.ByteArrayInputStream;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import me.iwf.photopicker.PhotoPicker;
- import pub.devrel.easypermissions.AfterPermissionGranted;
- import pub.devrel.easypermissions.EasyPermissions;
- public class UserInfoActivity extends Activity implements View.OnClickListener, EasyPermissions.PermissionCallbacks {
- private static final String TAG = "UserInfoActivity";
- private ImageView back;
- private EditText et_nickName;
- private EditText et_realName;
- private TextView et_che;
- private ToggleButton btn_sex, btn_car;
- private RelativeLayout rl_icon, rl_select_car, rl_isBuy;
- private Button cancleButton, btn_one, btn_two;
- private PopupWindow popupWindow;
- private View popupWindowView;
- private RoundImageView iconPic;
- private TextView tv_save, onclick;
- private String sex = "1";
- private String nocar = "";
- private String havecar = "";
- private Bitmap download_bmp;
- LoadingDialog dialog;
- String name0 = "";
- String name1 = "";
- private int cha;
- private String chatime;
- private Bitmap photo, output;
- Context mContext;
- private String car_brand, car_type;
- private Spinner spinnerProvince, spinnerCity;
- List<Province> pr = new ArrayList<Province>();
- private CustomProgressDialog pd_info;
- private String ss;
- public static final int RESULT_SUCCESS = 0;
- Bitmap bitmap = null;
- Bitmap selectbm = null;
- Bitmap servicebitmap = null;
- int default_brand = -1, default_type = -1;
- String chexing;
- String yichexing;
- private ImageView point;
- public static final int REQUSET = 11;
- String select_pinpai = "", select_chexing = "";
- private TextView tv_point, tv_buy;
- private RelativeLayout rl_point;
- private android.view.animation.Animation animation;
- private File fileUri = new File(Environment.getExternalStorageDirectory().getPath() + "/photo.jpg");
- private File fileCropUri = new File(Environment.getExternalStorageDirectory().getPath() + "/crop_photo.jpg");
- private Uri imageUri;
- private Uri cropImageUri;
- private static final int RC_CAMERA_PERM = 123;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- BarColorUtil.initStatusBarColor(UserInfoActivity.this);
- setContentView(R.layout.activity_user_info);
- dialog = new LoadingDialog(this);
- dialog.setCanceledOnTouchOutside(false);
- mContext = this;
- initView();
- spinner();
- getFromServer();
- }
- public void onEventMainThread(Province b) {
- Log.e("ffff", b.getName() + " " + b.getCities().get(b.getId()).getName());
- et_che.setText(b.getName() + " - " + b.getCities().get(b.getId()).getName());
- car_brand = b.getName();
- car_type = b.getCities().get(b.getId()).getName();
- }
- private void initView() {
- tv_buy = (TextView) findViewById(R.id.tv_buy);
- rl_point = (RelativeLayout) findViewById(R.id.rl_point);
- rl_isBuy = (RelativeLayout) findViewById(R.id.rl_isBuy);
- rl_isBuy.setOnClickListener(this);
- tv_point = (TextView) findViewById(R.id.tv_point);
- animation = AnimationUtils.loadAnimation(UserInfoActivity.this, R.anim.nn);
- rl_select_car = (RelativeLayout) findViewById(R.id.rl_select_car);
- rl_select_car.setOnClickListener(this);
- animation = AnimationUtils.loadAnimation(UserInfoActivity.this, R.anim.nn);
- point = (ImageView) findViewById(R.id.tv_one);
- et_nickName = (EditText) findViewById(R.id.et_nickName);
- et_nickName.setText(MainApplication.userNickname);
- et_nickName.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- MobclickAgent.onEvent(getApplicationContext(), "0802", new HashMap<String, String>().put("type", "昵称"));
- }
- });
- et_realName = (EditText) findViewById(R.id.et_realName);
- et_che = (TextView) findViewById(R.id.et_che);
- Log.e(TAG, "initView: " + MainApplication.userCar);
- if (MainApplication.userCar.equals("")) {
- tv_buy.setText("");
- rl_select_car.setVisibility(View.GONE);
- } else if ("待购".equals(MainApplication.userCar)) {
- tv_buy.setText("未购买");
- rl_select_car.setVisibility(View.GONE);
- et_che.setText("");
- } else {
- String car = MainApplication.userCar.replace("$$", " ");
- tv_buy.setText("已购买");
- rl_select_car.setVisibility(View.VISIBLE);
- et_che.setText(car);
- String[] strarray = car.split(" ");
- if (strarray.length > 1) {
- car_brand = strarray[0];
- car_type = strarray[1];
- }
- }
- onclick = (TextView) findViewById(R.id.onclick);
- onclick.setOnClickListener(this);
- back = (ImageView) findViewById(R.id.iv_back);
- back.setOnClickListener(this);
- rl_icon = (RelativeLayout) findViewById(R.id.rl_icon);
- rl_icon.setOnClickListener(this);
- btn_sex = (ToggleButton) findViewById(R.id.sex_button);
- btn_sex.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked) {
- Log.d("@@@@", "女");
- sex = "0";
- } else {
- Log.d("!!!!", "男");
- sex = "1";
- }
- }
- });
- btn_car = (ToggleButton) findViewById(R.id.car_button);
- btn_car.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
- if (isChecked) {
- Log.d("@@@@", "nocar");
- } else {
- Log.d("!!!!", "havecar");
- }
- }
- });
- iconPic = (RoundImageView) findViewById(R.id.iv_user_icon);
- setIcon();
- tv_save = (TextView) findViewById(R.id.tv_make_sure);
- tv_save.setOnClickListener(this);
- }
- private void setIcon() {
- if (!"".equals(MainApplication.userIcon)) {
- Picasso.with(UserInfoActivity.this)
- .load(MainApplication.userIcon)
- .into(new Target() {
- @Override
- public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom loadedFrom) {
- iconPic.setImageBitmap(bitmap);
- photo = ((BitmapDrawable) iconPic.getDrawable()).getBitmap();
- }
- @Override
- public void onBitmapFailed(Drawable drawable) {
- }
- @Override
- public void onPrepareLoad(Drawable drawable) {
- }
- });
- } else {
- iconPic.setImageResource(R.drawable.icon_face2_0);
- photo = ((BitmapDrawable) iconPic.getDrawable()).getBitmap();
- }
- }
- private void spinner() {
- List<Cars> cars = new ArrayList<Cars>();
- Cars car = new Cars("E140ev", "1", "1");
- cars.add(car);
- List<Cars> cars2 = new ArrayList<Cars>();
- Cars car0 = new Cars("车型", "1", "1");
- cars2.add(car0);
- spinnerProvince = (Spinner) this
- .findViewById(R.id.spinner_province_search_event);
- spinnerCity = (Spinner) this
- .findViewById(R.id.spinner_city_search_event);
- Province p = new Province();
- p.setCities(cars2);
- p.setId(1);
- p.setName("品牌");
- pr.add(p);
- ArrayAdapter<Province> provinceAdapter = new ArrayAdapter<Province>(UserInfoActivity.this, R.layout.simple_spinner_item, pr);
- spinnerProvince.setAdapter(provinceAdapter);
- spinnerProvince.setOnItemSelectedListener(new ProvinceAdapter());
- spinnerCity.setOnItemSelectedListener(new CityAdapter());
- }
- @Override
- public void onPermissionsGranted(int requestCode, List<String> perms) {
- }
- @Override
- public void onPermissionsDenied(int requestCode, List<String> perms) {
- }
- class ProvinceAdapter implements AdapterView.OnItemSelectedListener {
-
- * (non-Javadoc)
- */
- @Override
- public void onItemSelected(AdapterView<?> parent, View view,
- int position, long id) {
- onProvinChange(position);
- Province d = pr.get(position);
- try {
- car_brand = d.getName();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- * (non-Javadoc)
- */
- @Override
- public void onNothingSelected(AdapterView<?> parent) {
- }
- }
- final class CityAdapter extends ProvinceAdapter {
- @Override
- public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
- car_type = (String) spinnerCity.getSelectedItem();
- Log.e("car_type", car_type);
- }
- }
- public void onProvinChange(int position) {
- List<Cars> car = pr.get(position).getCities();
- List<String> strName = new ArrayList<String>();
- for (int i = 0; i < car.size(); i++) {
- Cars c = car.get(i);
- strName.add(c.getName());
- }
- ArrayAdapter<String> cityAdapter = new ArrayAdapter<String>(
- UserInfoActivity.this, R.layout.simple_spinner_item,
- android.R.id.text1, strName);
- spinnerCity.setAdapter(cityAdapter);
- Log.e("default_type", default_type + "");
- if (default_type != -1) {
- spinnerCity.setSelection(default_type);
- default_type = -1;
- }
- }
- @Override
- public void onClick(View v) {
- switch (v.getId()) {
- case R.id.rl_select_car:
- MobclickAgent.onEvent(getApplicationContext(), "0802", new HashMap<String, String>().put("type", "车型"));
- startActivityForResult(new Intent(UserInfoActivity.this, SelectCarActivity.class), REQUSET);
- break;
- case R.id.rl_isBuy:
- MobclickAgent.onEvent(getApplicationContext(), "0802", new HashMap<String, String>().put("type", "是否购车"));
- LayoutInflater inflater1 = (LayoutInflater) getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
- View popupWindowView = inflater1.inflate(R.layout.layout_isbuy, null);
- final PopupWindow popupWindow1 = new PopupWindow(popupWindowView,
- ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT,
- true);
- popupWindow1.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg_yinying531));
- popupWindow1.setOutsideTouchable(true);
- popupWindowView.setOnKeyListener(new View.OnKeyListener() {
- @Override
- public boolean onKey(View v, int keyCode, KeyEvent event) {
- if ((keyCode == KeyEvent.KEYCODE_MENU) && (popupWindow1.isShowing())) {
- popupWindow1.dismiss();
- return true;
- }
- return false;
- }
- });
- popupWindowView.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (popupWindow1.isShowing()) {
- popupWindow1.dismiss();
- }
- return false;
- }
- });
-
- popupWindow1.setAnimationStyle(R.style.popupAnimation);
- Button cancleButton = (Button) popupWindowView
- .findViewById(R.id.cancleButton);
- cancleButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- popupWindow1.dismiss();
- }
- });
- Button btn_one = (Button) popupWindowView.findViewById(R.id.tvTwo);
- btn_one.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- tv_buy.setText("已购买");
- rl_select_car.setVisibility(View.VISIBLE);
- popupWindow1.dismiss();
- }
- });
- Button btn_two = (Button) popupWindowView.findViewById(R.id.tvThree);
- btn_two.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- tv_buy.setText("未购买");
- rl_select_car.setVisibility(View.GONE);
- popupWindow1.dismiss();
- }
- });
- popupWindow1.showAtLocation(cancleButton, Gravity.CENTER, 0, 0);
- break;
- case R.id.onclick:
- break;
- case R.id.iv_back:
- finish();
- break;
- case R.id.rl_icon:
- MobclickAgent.onEvent(getApplicationContext(), "0802", new HashMap<String, String>().put("type", "头像"));
- cameraTask();
- break;
- case R.id.tv_make_sure:
- if (checkText()) {
- MobclickAgent.onEvent(getApplicationContext(), "0802", new HashMap<String, String>().put("type", "保存"));
- new Thread(new Runnable() {
- @Override
- public void run() {
- shite("");
- }
- }).start();
- dialog.show();
- }
- break;
- }
- }
- private boolean checkText() {
- String nickName = et_nickName.getText().toString().trim();
- String isBuy = tv_buy.getText().toString().trim();
- String carType = et_che.getText().toString().trim();
- if (TextUtils.isEmpty(nickName)) {
- Toast.makeText(this, "请输入您的昵称", Toast.LENGTH_SHORT).show();
- return false;
- }
- if (TextUtils.isEmpty(isBuy)) {
- Toast.makeText(this, "请选择您是否购买了新能源汽车", Toast.LENGTH_SHORT).show();
- return false;
- }
- if (isBuy.equals("已购买")) {
- if (TextUtils.isEmpty(carType)) {
- Toast.makeText(this, "请选择您购买的车型", Toast.LENGTH_SHORT).show();
- return false;
- }
- }
- return true;
- }
- public void createDialog() {
- if (pd_info == null) {
- pd_info = CustomProgressDialog.createDialog(mContext);
- pd_info.setMessage(mContext.getResources().getString(
- R.string.version_updating));
- pd_info.show();
- }
- }
- public void dismissDialog() {
- if (pd_info != null) {
- pd_info.dismiss();
- pd_info = null;
- }
- }
- private void showWindow() {
- LayoutInflater inflater = (LayoutInflater) getSystemService(mContext.LAYOUT_INFLATER_SERVICE);
- popupWindowView = inflater.inflate(R.layout.popupwindow_upload, null);
- popupWindow = new PopupWindow(popupWindowView,
- ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT,
- true);
- popupWindow.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg_yinying531));
- popupWindow.setOutsideTouchable(true);
- popupWindowView.setOnKeyListener(new View.OnKeyListener() {
- @Override
- public boolean onKey(View v, int keyCode, KeyEvent event) {
- if ((keyCode == KeyEvent.KEYCODE_MENU) && (popupWindow.isShowing())) {
- popupWindow.dismiss();
- return true;
- }
- return false;
- }
- });
- popupWindowView.setOnTouchListener(new View.OnTouchListener() {
- @Override
- public boolean onTouch(View v, MotionEvent event) {
- if (popupWindow.isShowing()) {
- popupWindow.dismiss();
- }
- return false;
- }
- });
-
- popupWindow.setAnimationStyle(R.style.popupAnimation);
- cancleButton = (Button) popupWindowView
- .findViewById(R.id.cancleButton);
- cancleButton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- popupWindow.dismiss();
- }
- });
- btn_one = (Button) popupWindowView.findViewById(R.id.tvTwo);
- btn_one.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- takePhoto(view);
- popupWindow.dismiss();
- }
- });
- btn_two = (Button) popupWindowView.findViewById(R.id.tvThree);
- btn_two.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- Intent intent = new Intent(Intent.ACTION_PICK, null);
- intent.setDataAndType(
- MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
- "image/*");
- startActivityForResult(intent, 1);
- popupWindow.dismiss();
- }
- });
- popupWindow.showAtLocation(cancleButton, Gravity.CENTER, 0, 0);
- }
- public void shite(String s) {
- Map<String, String> par = new HashMap<String, String>();
- String file;
- long appTime1 = System.currentTimeMillis() / 1000;
- Log.i("appTime(long)---", appTime1 + "");
- long updatetime = appTime1 - MainMapActivity.cha - 1;
- Log.i("updatetime(long)---", updatetime + "");
- Log.i("cha---", MainMapActivity.cha + "");
- String token = String.valueOf(updatetime);
- Log.i("token---", token);
- if (tv_buy.getText().toString().equals("未购买")) {
- havecar = "待购";
- } else {
- if (car_brand != null && null != car_type) {
- havecar = car_brand + "$$" + car_type;
- }
- }
- nocar = "";
- try {
- if (null != photo) {
- Bitmap bm = imageZoom(photo);
- ss = bitmapToBase64(bm);
- }
- par.put("file", ss);
- par.put("filename", "androidapp.jpg");
- } catch (Exception e) {
- e.printStackTrace();
- }
- par.put("username", et_realName.getText().toString());
- par.put("nickname", et_nickName.getText().toString());
- par.put("sex", sex);
- par.put("chexing", havecar);
- par.put("yichexing", nocar);
- Log.e("chexing", havecar);
- Log.e("yichexing", nocar);
- try {
- par.put("token", DES3.encode(token));
- } catch (Exception e) {
- e.printStackTrace();
- }
- try {
- String u = UploadUtil.post(
- MainApplication.url + "/zhannew/basic/web/index.php/tpmember/full?id=" + MainApplication.userId,
- par, null);
- Message msg = new Message();
- msg.obj = u;
- msg.what = 2;
- handle.sendMessage(msg);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- * 拍照
- *
- * @param view
- */
- public void takePhoto(View view) {
- if (SDCardUtil.hasSdcard()) {
- imageUri = Uri.fromFile(fileUri);
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
-
- imageUri = FileProvider.getUriForFile(UserInfoActivity.this, "com.electric.chargingpile.provider", fileUri);
- PhotoUtils.takePicture(UserInfoActivity.this, imageUri, 2);
- } else {
- Toast.makeText(UserInfoActivity.this, "设备没有SD卡!", Toast.LENGTH_SHORT).show();
- Log.e("asd", "设备没有SD卡");
- }
- }
- @AfterPermissionGranted(RC_CAMERA_PERM)
- public void cameraTask() {
- if (hasCameraPermission()) {
- showWindow();
- } else {
-
- EasyPermissions.requestPermissions(
- this,
- "充电桩需要获取您相关权限,是否允许?",
- RC_CAMERA_PERM,
- Manifest.permission.CAMERA,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.READ_EXTERNAL_STORAGE);
- }
- }
- private boolean hasCameraPermission() {
- return EasyPermissions.hasPermissions(this,
- Manifest.permission.WRITE_EXTERNAL_STORAGE,
- Manifest.permission.READ_EXTERNAL_STORAGE,
- Manifest.permission.CAMERA
- );
- }
-
- * 调用系统相册
- *
- * @param view
- */
- public void getPhoto(View view) {
- PhotoUtils.openPic(UserInfoActivity.this, 1);
- }
- public void startPhotoZoom(Uri uri) {
-
- * * 至于下面这个Intent的ACTION是怎么知道的,大家可以看下自己路径下的如下网页 *
- * yourself_sdk_path/docs/reference/android/content/Intent.html *
- * 直接在里面Ctrl+F搜:CROP ,之前小马没仔细看过,其实安卓系统早已经有自带图片裁剪功能, * 是直接调本地库的,不懂C C++
- * 这个不做详细了解去了,有轮子就用轮子,不再研究轮子是怎么 * 制做的了...吼吼
- */
- Intent intent = new Intent("com.android.camera.action.CROP");
- intent.setDataAndType(uri, "image/*");
- intent.putExtra("crop", "true");
-
- intent.putExtra("aspectX", 1);
- intent.putExtra("aspectY", 1);
-
- intent.putExtra("outputX", 150);
- intent.putExtra("outputY", 150);
- intent.putExtra("return-data", true);
- startActivityForResult(intent, 3);
- }
-
- * 保存裁剪之后的图片数据
- **/
- private void setPicToView(Intent picdata) {
- com.blankj.utilcode.util.LogUtils.e("!@#");
- Bundle extras = picdata.getExtras();
- if (extras != null) {
- photo = extras.getParcelable("data");
- if (photo != null) {
-
- iconPic.setImageBitmap(photo);
- }
- }
- }
- private String bitmapToBase64(Bitmap bitmap) {
- String result = null;
- ByteArrayOutputStream baos = null;
- try {
- if (bitmap != null) {
- baos = new ByteArrayOutputStream();
- bitmap.compress(Bitmap.CompressFormat.PNG, 100, baos);
- baos.flush();
- baos.close();
- byte[] bitmapBytes = baos.toByteArray();
- result = android.util.Base64.encodeToString(bitmapBytes, android.util.Base64.DEFAULT);
- }
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- try {
- if (baos != null) {
- baos.flush();
- baos.close();
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- return result;
- }
- @Override
- public void onActivityResult(final int requestCode, int resultCode,
- final Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- int output_X = 150, output_Y = 150;
-
- if (resultCode != Activity.RESULT_OK)
- return;
- switch (requestCode) {
-
- case REQUSET:
- select_pinpai = data.getStringExtra("pinpai");
- select_chexing = data.getStringExtra("chexing");
- et_che.setText(select_pinpai + " " + select_chexing);
- car_brand = select_pinpai;
- car_type = select_chexing;
- break;
- case PhotoPicker.REQUEST_CODE:
- if (data != null) {
- data.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
- ArrayList<String> photos = data.getStringArrayListExtra(PhotoPicker.KEY_SELECTED_PHOTOS);
-
- for (String imagePath : photos) {
- File file = new File(imagePath);
- com.blankj.utilcode.util.LogUtils.e(file.length());
- Uri fileUri = FileProvider.getUriForFile(getApplicationContext(),
- getApplicationContext().getPackageName() + ".provider", file);
- com.blankj.utilcode.util.LogUtils.e(fileUri);
- startPhotoZoom(fileUri);
- }
- } else {
- ToastUtil.showToast(getApplicationContext(), "data为null", Toast.LENGTH_SHORT);
- }
- break;
- case 1:
- if (SDCardUtil.hasSdcard()) {
- cropImageUri = Uri.fromFile(fileCropUri);
- Uri newUri = Uri.parse(PhotoUtils.getPath(this, data.getData()));
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N)
- newUri = FileProvider.getUriForFile(this, "com.electric.chargingpile.provider", new File(newUri.getPath()));
- PhotoUtils.cropImageUri(this, newUri, cropImageUri, 1, 1, output_X, output_Y, 3);
- } else {
- Toast.makeText(UserInfoActivity.this, "设备没有SD卡!", Toast.LENGTH_SHORT).show();
- }
- break;
-
- case 2:
- cropImageUri = Uri.fromFile(fileCropUri);
- PhotoUtils.cropImageUri(this, imageUri, cropImageUri, 1, 1, output_X, output_Y, 3);
- break;
-
- case 3:
- photo = imageZoom(PhotoUtils.getBitmapFromUri(cropImageUri, this));
- if (photo != null) {
- iconPic.setImageBitmap(photo);
- }
- break;
- default:
- break;
- }
- ;
- }
- private Bitmap imageZoom(Bitmap bm) {
-
- double maxSize = 40.00;
-
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- bm.compress(Bitmap.CompressFormat.JPEG, 100, baos);
- byte[] b = baos.toByteArray();
-
- double mid = b.length / 1024;
-
- if (mid > maxSize) {
-
- double i = mid / maxSize;
-
-
- bm = zoomImage(bm, bm.getWidth() / Math.sqrt(i), bm.getHeight()
- / Math.sqrt(i));
- }
- return bm;
- }
- public Bitmap zoomImage(Bitmap bgimage, double newWidth, double newHeight) {
-
- float width = bgimage.getWidth();
- float height = bgimage.getHeight();
-
- Matrix matrix = new Matrix();
-
- float scaleWidth = ((float) newWidth) / width;
- float scaleHeight = ((float) newHeight) / height;
-
- matrix.postScale(scaleWidth, scaleHeight);
- Bitmap bitmap = Bitmap.createBitmap(bgimage, 0, 0, (int) width,
- (int) height, matrix, true);
- return bitmap;
- }
- private Bitmap comp(Bitmap image) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- image.compress(Bitmap.CompressFormat.JPEG, 100, baos);
- if (baos.toByteArray().length / 1024 > 1024) {
- baos.reset();
- image.compress(Bitmap.CompressFormat.JPEG, 50, baos);
- }
- ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());
- BitmapFactory.Options newOpts = new BitmapFactory.Options();
-
- newOpts.inJustDecodeBounds = true;
- Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, newOpts);
- newOpts.inJustDecodeBounds = false;
- int w = newOpts.outWidth;
- int h = newOpts.outHeight;
-
- float hh = 800f;
- float ww = 480f;
-
- int be = 1;
- if (w > h && w > ww) {
- be = (int) (newOpts.outWidth / ww);
- } else if (w < h && h > hh) {
- be = (int) (newOpts.outHeight / hh);
- }
- if (be <= 0)
- be = 1;
- newOpts.inSampleSize = be;
-
- isBm = new ByteArrayInputStream(baos.toByteArray());
- bitmap = BitmapFactory.decodeStream(isBm, null, newOpts);
- return compressImage(bitmap);
- }
-
- * 转换图片成圆形
- *
- * @param bitmap 传入Bitmap对象
- * @return
- */
- public Bitmap toRoundBitmap(Bitmap bitmap) {
- int width = bitmap.getWidth();
- int height = bitmap.getHeight();
- float roundPx;
- float left, top, right, bottom, dst_left, dst_top, dst_right, dst_bottom;
- if (width <= height) {
- roundPx = width / 2;
- top = 0;
- bottom = width;
- left = 0;
- right = width;
- height = width;
- dst_left = 0;
- dst_top = 0;
- dst_right = width;
- dst_bottom = width;
- } else {
- roundPx = height / 2;
- float clip = (width - height) / 2;
- left = clip;
- right = width - clip;
- top = 0;
- bottom = height;
- width = height;
- dst_left = 0;
- dst_top = 0;
- dst_right = height;
- dst_bottom = height;
- }
- output = Bitmap.createBitmap(width,
- height, Bitmap.Config.ARGB_8888);
- Canvas canvas = new Canvas(output);
- final int color = 0xff424242;
- final Paint paint = new Paint();
- final Rect src = new Rect((int) left, (int) top, (int) right, (int) bottom);
- final Rect dst = new Rect((int) dst_left, (int) dst_top, (int) dst_right, (int) dst_bottom);
- final RectF rectF = new RectF(dst);
- paint.setAntiAlias(true);
- canvas.drawARGB(0, 0, 0, 0);
- paint.setColor(color);
- canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
- paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC_IN));
- canvas.drawBitmap(bitmap, src, dst, paint);
- return output;
- }
- public void saveBitmap(Bitmap mBitmap) {
- String dir_path = Environment.getExternalStorageDirectory() + File.separator + "d1ev/";
- File directory = new File(dir_path);
- File f = new File(dir_path, "usericon");
- try {
- if (!directory.exists()) {
- directory.mkdir();
- }
- f.createNewFile();
- } catch (IOException e) {
-
- }
- FileOutputStream fOut = null;
- try {
- fOut = new FileOutputStream(f);
- } catch (Exception e) {
- e.printStackTrace();
- }
- mBitmap.compress(Bitmap.CompressFormat.PNG, 100, fOut);
- try {
- fOut.flush();
- } catch (IOException e) {
- e.printStackTrace();
- }
- try {
- fOut.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- *bitmap转base64
- */
- Handler handle = new Handler() {
- public void handleMessage(Message msg) {
- switch (msg.what) {
- case StatusConstants.REQUEST_WHAT_SUCCESS:
- LogUtils.getLogger().e(msg.obj.toString());
- break;
- case 1:
- try {
- JSONArray jsonary = new JSONArray(msg.obj.toString());
- for (int i = 0; i < jsonary.length(); i++) {
- JSONObject js = new JSONObject(jsonary.get(i).toString());
- Province prov = new Province();
- prov.setId(js.getInt("id"));
- prov.setName(js.getString("name"));
- if (prov.getName().equals(name0)) {
- default_brand = i;
- }
- JSONArray jsonary1 = js.getJSONArray("cars");
- List<Cars> cities = new ArrayList<Cars>();
- for (int j = 0; j < jsonary1.length(); j++) {
- JSONObject js2 = new JSONObject(jsonary1.get(j).toString());
- Cars car = new Cars(js2.getString("name"), js2.getString("id"), js2.getString("brand_id"));
- if (car.getName().equals(name1)) {
- default_type = j;
- }
- cities.add(car);
- }
- prov.setCities(cities);
- pr.remove(prov);
- pr.add(prov);
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- ArrayAdapter<Province> provinceAdapter = new ArrayAdapter<Province>(UserInfoActivity.this, R.layout.simple_spinner_item, pr);
- spinnerProvince.setAdapter(provinceAdapter);
- provinceAdapter.notifyDataSetChanged();
- if (default_brand != -1) {
- spinnerProvince.setSelection(default_brand + 1);
- default_brand = -1;
- }
- new Handler().postDelayed(new Runnable() {
- public void run() {
- spinnerCity.setSelection(default_type);
- }
- }, 5000);
- break;
- case 2:
- Log.e(TAG, "handleMessage: " + msg.obj.toString());
- try {
- JSONObject jsonObject = new JSONObject(msg.obj.toString());
- String rtnCode = jsonObject.getString("rtnCode");
- String rtnMsg = jsonObject.getString("rtnMsg");
- if (rtnCode.equals("01")) {
- dialog.cancel();
- String picurl = JsonUtils.getKeyResult(msg.obj.toString(), "picurl");
- MainApplication.userIcon = MainApplication.url + picurl;
- ProfileManager.getInstance().setUsericon(getApplicationContext(), MainApplication.userIcon);
- MainApplication.userCar = havecar;
- ProfileManager.getInstance().setUsercar(getApplicationContext(), havecar);
- MainApplication.userNickname = et_nickName.getText().toString();
- ProfileManager.getInstance().setNickname(getApplicationContext(), et_nickName.getText().toString());
- Intent intent = new Intent();
- intent.putExtra("nickname", et_nickName.getText().toString().trim());
- intent.putExtra("userphoto", ss);
- setResult(RESULT_SUCCESS, intent);
- String plusScore = jsonObject.getString("plusScore");
- if (!plusScore.equals("")) {
- tv_point.setText(plusScore);
- rl_point.setVisibility(View.VISIBLE);
- rl_point.startAnimation(animation);
- new Handler().postDelayed(new Runnable() {
- public void run() {
- rl_point.setVisibility(View.GONE);
- }
- }, 1000);
- new Handler().postDelayed(new Runnable() {
- public void run() {
- UserInfoActivity.this.finish();
- }
- }, 1500);
- } else {
- ToastUtil.showToast(UserInfoActivity.this, "保存成功", Toast.LENGTH_SHORT);
- UserInfoActivity.this.finish();
- }
- } else if (rtnCode.equals("03")) {
- dialog.cancel();
- Toast.makeText(UserInfoActivity.this, "请求超时", Toast.LENGTH_SHORT).show();
- } else if (rtnCode.equals("02")) {
- dialog.cancel();
- Toast.makeText(UserInfoActivity.this, "该昵称已有用户使用,请重新填写", Toast.LENGTH_SHORT).show();
- }
- } catch (JSONException e) {
- e.printStackTrace();
- }
- break;
- case 5:
- Toast.makeText(UserInfoActivity.this, msg.obj.toString(), Toast.LENGTH_SHORT).show();
- break;
- }
- super.handleMessage(msg);
- }
- };
- public void getFromServer() {
- new Thread(new Runnable() {
- @Override
- public void run() {
- show_Data();
- }
- }).start();
- }
- private void show_Data() {
-
-
- String url = MainApplication.url + "/zhannew/basic/web/index.php/brand/getlist";
- Request request = new Request.Builder().url(url).build();
- Response response = null;
- try {
- response = OkHttpUtil.execute(request);
- if (response.code() == 200) {
- String json = "";
- try {
- json = response.body().string();
- } catch (IOException e) {
-
- e.printStackTrace();
- }
- Message msg = handle.obtainMessage();
- msg.what = 1;
- msg.obj = json;
- handle.sendMessage(msg);
- } else if (response.code() == 204) {
- Message msg = handle.obtainMessage();
- msg.what = 5;
- handle.sendMessage(msg);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private Bitmap compressImage(Bitmap image) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- image.compress(Bitmap.CompressFormat.JPEG, 100, baos);
- int options = 100;
- while (baos.toByteArray().length / 1024 > 100) {
- baos.reset();
- image.compress(Bitmap.CompressFormat.JPEG, options, baos);
- options -= 10;
- }
- ByteArrayInputStream isBm = new ByteArrayInputStream(baos.toByteArray());
- Bitmap bitmap = BitmapFactory.decodeStream(isBm, null, null);
- return bitmap;
- }
- @Override
- protected void onResume() {
- super.onResume();
- MobclickAgent.onResume(this);
- }
- @Override
- protected void onPause() {
- super.onPause();
- MobclickAgent.onPause(this);
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- }
- }
|