package com.youzuan.shop;
import android.Manifest;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.support.v4.app.ActivityCompat;
import android.view.View;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;
import com.google.gson.Gson;
import com.youzuan.shop.activity.BaseActivity;
import com.youzuan.shop.config.HttpAddress;
import com.youzuan.shop.http.HttpRequest;
import com.youzuan.shop.http.OkGoEngine;
import com.youzuan.shop.model.BusinessBankCard;
import com.youzuan.shop.model.Shop;
import com.youzuan.shop.model.ShopResult;
import com.youzuan.shop.model.Store;
import com.youzuan.shop.model.User;
import com.youzuan.shop.util.ToDo;
import com.youzuan.shop.views.SelectedButton;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import static android.content.pm.PackageManager.PERMISSION_GRANTED;
public class MainActivity extends BaseActivity {
@BindView(R.id.name)
EditText name;
@BindView(R.id.province)
EditText province;
@BindView(R.id.address)
EditText address;
@BindView(R.id.mobile)
EditText mobile;
@BindView(R.id.bankname)
EditText bankname;
@BindView(R.id.accountnumber)
EditText accountnumber;
@BindView(R.id.username)
EditText username;
@BindView(R.id.password)
EditText password;
@BindView(R.id.confirmPassword)
EditText confirmPassword;
@BindView(R.id.iv_noLoan)
ImageView ivNoLoan;
@BindView(R.id.ll_noLoan)
LinearLayout llNoLoan;
@BindView(R.id.iv_loan)
ImageView ivLoan;
@BindView(R.id.ll_loan)
LinearLayout llLoan;
@BindView(R.id.iv_shop)
ImageView ivShop;
@BindView(R.id.bt_add)
SelectedButton btAdd;
HttpRequest httpRequest;
@Override
protected void loadLayout(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
httpRequest=new HttpRequest(this);
}
@Override
protected void initView() {
}
@Override
protected void loadData() {
}
@OnClick({R.id.ll_noLoan, R.id.ll_loan, R.id.iv_shop, R.id.bt_add})
public void onClick(View view) {
switch (view.getId()) {
case R.id.ll_noLoan:
break;
case R.id.ll_loan:
break;
case R.id.iv_shop:
break;
case R.id.bt_add:
Shop shop=new Shop();
BusinessBankCard businessBankCard=new BusinessBankCard();
businessBankCard.setAccountnumber("54654");
businessBankCard.setBankname("DS");
businessBankCard.setBid("0");
businessBankCard.setCreatetime("0");
businessBankCard.setId("0");
Store store=new Store();
store.setAddress("df");
store.setName("dfs");
store.setProvince("dfs");
store.setIcon("http://cdn.youzuanzb.com/1561604696000");
store.setLoan(0);
store.setLat("23");
store.setLng("123");
User user=new User();
user.setUsername("dfs");
user.setPassword("dfs");
user.setMobile("13790445950");
user.setCreateuser("dfsfd");
shop.setBusinessBankCard(businessBankCard);
shop.setStore(store);
shop.setUser(user);
Gson gson=new Gson();
String s = gson.toJson(shop);
//httpRequest.request(HttpAddress.createShop,new HashMap<String, Object>(),HttpAddress.createShop,ShopResult.class);
if(checkPermission(this,new String[]{Manifest.permission.CAMERA},REQUEST_CODE_PERMISSION)){
Toast.makeText(this,"已获得所有权限",Toast.LENGTH_LONG).show();
}
//httpRequest.request(HttpAddress.createShop,s,HttpAddress.createShop, ShopResult.class);
break;
}
}
@Override
public void receiveHttpError(String error, String dataType) {
Toast.makeText(this,error,Toast.LENGTH_LONG);
}
@Override
public void setViewData(Object object, String dataType) {
ShopResult shopResult= (ShopResult) object;
Toast.makeText(this,shopResult.getQrcode(),Toast.LENGTH_LONG).show();
}
private static final int REQUEST_CODE_PERMISSION=0x112;
public static boolean checkPermission(Activity activity, String [] ps, int requestCode) {
boolean isGranted = true;
if (android.os.Build.VERSION.SDK_INT >= 23) {
for(String p:ps){
if (activity.checkSelfPermission(p) != PERMISSION_GRANTED) {
isGranted = false;
}
}
if (!isGranted) {
activity.requestPermissions(ps,
requestCode);
}
}
return isGranted;
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
List<String> notPassPermissions=new ArrayList<>();//没有通过的权限
for (int i = 0; i < permissions.length; i++) {
if (grantResults[i] == PERMISSION_GRANTED) {
Toast.makeText(this, "" + "权限" + permissions[i] + "申请成功", Toast.LENGTH_SHORT).show();
} else {
notPassPermissions.add(permissions[i]);
Toast.makeText(this, "" + "权限" + permissions[i] + "申请失败", Toast.LENGTH_SHORT).show();
}
}
String[] strings = new String[notPassPermissions.size()];
notPassPermissions.toArray(strings);
if(notPassPermissions.isEmpty()){
//做应用的事
switch (requestCode){
case REQUEST_CODE_PERMISSION:
Toast.makeText(this,"已获得所有权限",Toast.LENGTH_LONG).show();
break;
default:
break;
}
}else if(!shouldGoToSetting(strings)){
checkPermission(this, strings,REQUEST_CODE_PERMISSION);
}
}
/**
* 如果有被永久禁止的权限就会跳到设置页面并返回true
* @param permissions
* @return
*/
private boolean shouldGoToSetting(String[] permissions){
boolean neverAlert=false;//是否有以后不再提醒的权限
List<String> neverAlertPermissions=new ArrayList<>();//以后不再提醒的权限
for(String p:permissions){
if(!ActivityCompat.shouldShowRequestPermissionRationale(this,p)){
neverAlert=true;
neverAlertPermissions.add(p);
}
}
if (neverAlert) {
StringBuffer nap=new StringBuffer();
for(String p:neverAlertPermissions){
nap.append(p+",");
}
Toast.makeText(this,"不再弹出的权限有:"+nap.toString(),Toast.LENGTH_LONG).show();
Uri packageURI = Uri.parse("package:" + getPackageName());
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageURI);
this.startActivity(intent);
return true;
}else{
return false;
}
}
}