diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 28db2a2..16889fb 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -300,6 +300,7 @@ + \ No newline at end of file diff --git a/app/src/main/java/com/sl/house_property/CodeActivity.java b/app/src/main/java/com/sl/house_property/CodeActivity.java new file mode 100644 index 0000000..d669199 --- /dev/null +++ b/app/src/main/java/com/sl/house_property/CodeActivity.java @@ -0,0 +1,254 @@ +package com.sl.house_property; + +import android.app.ProgressDialog; +import android.content.Intent; +import android.graphics.Bitmap; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.view.Gravity; +import android.view.View; + +import com.google.gson.Gson; +import com.google.gson.internal.LinkedTreeMap; +import com.google.gson.reflect.TypeToken; +import com.gyf.immersionbar.ImmersionBar; +import com.selectpicker.OptionsPopupWindow; +import com.sl.house_property.databinding.ActivityCodeBinding; +import com.sl.house_property.discovery.ShareCodeActivity; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.lang.reflect.Type; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +import entity.HomelistitemEntity; +import entity.RegisterUser; +import http.ApiConfig; +import my_loader.Loader; +import my_loader.Resultcode; +import rx.Subscription; +import rx.functions.Action1; +import tools.Config; +import utils.Md5; +import utils.QRCodeUtil; + +public class CodeActivity extends BaseActivity { + + private String address; + public ProgressDialog progressDialog; + @Override + protected int getLayoutResId() { + return R.layout.activity_code; + } + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + ImmersionBar.with(this) + .keyboardEnable(true) //解决软键盘与底部输入框冲突问题 + // .keyboardEnable(true, WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE + // | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) //软键盘自动弹出 + .init(); + progressDialog = new ProgressDialog(this); + progressDialog.setCanceledOnTouchOutside(false); + mDataBinding.llAddress.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (list == null || list.isEmpty()) { + Map map = new HashMap<>(); + RegisterUser registerUser = Config.getInstance(CodeActivity.this).getUser(); + if (registerUser != null) { + map.put("userid", registerUser.getUserid()); + } else { + map.put("userid", 0 + ""); + } + + map.put("sign", Md5.md5("Cas" + "GetMyAddress" + Md5.secret)); + map.put("app", "Cas"); + map.put("class", "GetMyAddress"); + getGankList(ApiConfig.BASE_URL, map, "", 0); + return; + } + final ArrayList strings = new ArrayList<>(); + for (int i = 0; i < list.size(); i++) { + strings.add(list.get(i).getAddress()); + } + OptionsPopupWindow alarmOptionPop = new OptionsPopupWindow(CodeActivity.this); + alarmOptionPop.setPicker(strings); + + alarmOptionPop.setOnoptionsSelectListener(new OptionsPopupWindow.OnOptionsSelectListener() { + @Override + public void onOptionsSelect(int position, int option2, int options3) { + + + if (list.size() > 0) { + user_home_id = list.get(position).getUser_home_id(); + mDataBinding.tvAddress.setText(list.get(position).getAddress()); + address = list.get(position).getAddress(); + } + + } + }); + + alarmOptionPop.showAtLocation(mDataBinding.getRoot(), Gravity.BOTTOM, 0, 0); + } + }); + Map map = new HashMap<>(); + RegisterUser registerUser = Config.getInstance(CodeActivity.this).getUser(); + if (registerUser != null) { + map.put("userid", registerUser.getUserid()); + } else { + map.put("userid", 0 + ""); + } + + map.put("sign", Md5.md5("Cas" + "GetMyAddress" + Md5.secret)); + map.put("app", "Cas"); + map.put("class", "GetMyAddress"); + getGankList(ApiConfig.BASE_URL, map, "", 0); + getGankList(); + + mDataBinding.tvLs.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(CodeActivity.this, ShareCodeActivity.class); + intent.putExtra("id", user_home_id); + intent.putExtra("address", address); + startActivity(intent); + } + }); + mDataBinding.tvSx.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + getGankList(); + } + }); + mDataBinding.left.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + } + + + private void getGankList() { + String myurl = ApiConfig.BASE_URL; + String msg = getResources().getString(R.string.requsting); + RegisterUser user = + Config.getInstance(CodeActivity.this).getUser(); + Map map = new HashMap<>(); + if (user != null) { + map.put("userid", user.getUserid()); + } else { + map.put("userid", 0 + ""); + } + map.put("app", "Door"); + map.put("class", "GetownerCode"); + map.put("user_home_id", "GetownerCode"); + map.put("sign", Md5.md5("Door" + "GetownerCode" + Md5.secret)); + + + Loader mGankLoader = new Loader(); + progressDialog.show(); + Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1() { + @Override + public void call(Resultcode resultcode) { + progressDialog.dismiss(); + if (resultcode.status == 0) { +// setToast(0, resultcode.msg); + + Gson gs = new Gson(); + LinkedTreeMap adta = (LinkedTreeMap) resultcode.data; + String qrcode = (String) adta.get("qrcode"); + Bitmap qrCodeBitmap = QRCodeUtil.createQRCodeBitmap(qrcode, QRCodeUtil.dip2px(CodeActivity.this, 200), QRCodeUtil.dip2px(CodeActivity.this, 200)); + mDataBinding.ivCode.setImageBitmap(qrCodeBitmap); + mDataBinding.ivCode.setVisibility(View.VISIBLE); + } else { + setToast(1, resultcode.msg); + } + } + }, new Action1() { + @Override + public void call(Throwable throwable) { + progressDialog.dismiss(); + + setToast(2, getString(R.string.getdatafailure)); + throwable.printStackTrace(); + } + }); + addSubscription(subscription); + } + + private ArrayList list; + private String user_home_id; + + private void getGankList(final String myurl, Map map, String string, final int getcode1) { + progressDialog.setMessage(string); + + //map.put("") + progressDialog.setCancelable(false); + progressDialog.show(); + mDataBinding.getRoot().postDelayed(new Runnable() { + @Override + public void run() { + progressDialog.dismiss(); + //setToast(1, getString(R.string.timeout)); + } + }, 13000); + Loader mGankLoader = new Loader(); + /* Map map=new HashMap(); + map.put("phone");*/ + Subscription subscription = mGankLoader.getMovie(myurl, map).subscribe(new Action1() { + @Override + public void call(Resultcode resultcode) { + progressDialog.dismiss(); + //setToast(0,resultcode.status); + if ((!(resultcode.status == 0))) { + setToast(1, resultcode.msg); + return; + } + switch (getcode1) { + + case 0: + Gson gs = new Gson(); + LinkedTreeMap adta = (LinkedTreeMap) resultcode.data; + String s = gs.toJson(adta); + try { + JSONObject jsonObject = new JSONObject(s); + JSONArray jsonArray = jsonObject.getJSONArray("home"); + Type type = new TypeToken>() { + }.getType(); + list = new Gson().fromJson(jsonArray.toString(), type); + if (list != null && !list.isEmpty()) { + mDataBinding.tvAddress.setText(list.get(0).getAddress()); + user_home_id = list.get(0).getUser_home_id(); + address = list.get(0).getAddress(); + } + } catch (JSONException e) { + e.printStackTrace(); + } + + + break; + + } + + } + + + }, new Action1() { + @Override + public void call(Throwable throwable) { + progressDialog.dismiss(); + setToast(2, getString(R.string.getdatafailure)); + throwable.printStackTrace(); + } + }); + + addSubscription(subscription); + } +} diff --git a/app/src/main/java/com/sl/house_property/MainFragment.java b/app/src/main/java/com/sl/house_property/MainFragment.java index 6ae0d5e..5052902 100644 --- a/app/src/main/java/com/sl/house_property/MainFragment.java +++ b/app/src/main/java/com/sl/house_property/MainFragment.java @@ -412,7 +412,7 @@ public class MainFragment extends BaseFragment implements V if ((Config.getInstance(MainFragment.this.getContext()).getUser() == null)) { intent = new Intent(MainFragment.this.getContext(), LoginActivity.class); } else { - intent = new Intent(getActivity(), ShareCodeActivity.class); + intent = new Intent(getActivity(), CodeActivity.class); } startActivity(intent); break; diff --git a/app/src/main/java/com/sl/house_property/discovery/ShareCodeActivity.java b/app/src/main/java/com/sl/house_property/discovery/ShareCodeActivity.java index 18e18a5..853181d 100644 --- a/app/src/main/java/com/sl/house_property/discovery/ShareCodeActivity.java +++ b/app/src/main/java/com/sl/house_property/discovery/ShareCodeActivity.java @@ -55,18 +55,20 @@ public class ShareCodeActivity extends BaseActivity map = new HashMap<>(); - RegisterUser registerUser = Config.getInstance(ShareCodeActivity.this).getUser(); - if (registerUser != null) { - map.put("userid", registerUser.getUserid()); - } else { - map.put("userid", 0 + ""); - } - - map.put("sign", Md5.md5("Cas" + "GetMyAddress" + Md5.secret)); - map.put("app", "Cas"); - map.put("class", "GetMyAddress"); - getGankList(ApiConfig.BASE_URL, map, "", 0); +// Map map = new HashMap<>(); +// RegisterUser registerUser = Config.getInstance(ShareCodeActivity.this).getUser(); +// if (registerUser != null) { +// map.put("userid", registerUser.getUserid()); +// } else { +// map.put("userid", 0 + ""); +// } +// +// map.put("sign", Md5.md5("Cas" + "GetMyAddress" + Md5.secret)); +// map.put("app", "Cas"); +// map.put("class", "GetMyAddress"); +// getGankList(ApiConfig.BASE_URL, map, "", 0); + user_home_id= getIntent().getStringExtra("id"); + // String address = getIntent().getStringExtra("address"); mDataBinding.myradio2.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { diff --git a/app/src/main/res/layout/activity_code.xml b/app/src/main/res/layout/activity_code.xml new file mode 100644 index 0000000..3fe09f8 --- /dev/null +++ b/app/src/main/res/layout/activity_code.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_entranceguard_control2.xml b/app/src/main/res/layout/activity_entranceguard_control2.xml index fae40a8..2eca9bf 100644 --- a/app/src/main/res/layout/activity_entranceguard_control2.xml +++ b/app/src/main/res/layout/activity_entranceguard_control2.xml @@ -29,6 +29,7 @@ android:orientation="vertical">