|
|
package com.gizwits.opensource.appkit.sharingdevice;
|
|
|
|
|
|
import android.app.AlertDialog;
|
|
|
import android.app.Dialog;
|
|
|
import android.content.Context;
|
|
|
import android.content.SharedPreferences;
|
|
|
import android.os.Bundle;
|
|
|
import android.os.Handler;
|
|
|
import android.os.Message;
|
|
|
import android.support.v4.app.Fragment;
|
|
|
import android.text.TextUtils;
|
|
|
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.BaseAdapter;
|
|
|
import android.widget.EditText;
|
|
|
import android.widget.LinearLayout;
|
|
|
import android.widget.RelativeLayout;
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
import com.gizwits.gizwifisdk.api.GizDeviceSharing;
|
|
|
import com.gizwits.gizwifisdk.api.GizUserInfo;
|
|
|
import com.gizwits.opensource.appkit.CommonModule.GosConstant;
|
|
|
import com.gizwits.opensource.appkit.R;
|
|
|
import com.gizwits.opensource.appkit.utils.AssetsUtils;
|
|
|
import com.gizwits.opensource.appkit.utils.DateUtil;
|
|
|
import com.gizwits.opensource.appkit.view.SlideListView2;
|
|
|
|
|
|
|
|
|
public class SharedUserFragment extends Fragment {
|
|
|
|
|
|
// 定义俩个整形值用来区分当前要显示的是哪个view对象
|
|
|
// 如果是1的话就共享列表, 2的话就是受邀列表
|
|
|
private int mytpye = -1;
|
|
|
private myadapter myadapter;
|
|
|
private String deviceID;
|
|
|
private String token;
|
|
|
private String uid;
|
|
|
private String productname;
|
|
|
private TextView shareddeviceproductname;
|
|
|
private SlideListView2 mListView;
|
|
|
|
|
|
Handler handler = new Handler() {
|
|
|
@Override
|
|
|
public void handleMessage(Message msg) {
|
|
|
super.handleMessage(msg);
|
|
|
switch (msg.what) {
|
|
|
case 1:
|
|
|
if (GosConstant.mydeviceSharingInfos.size() == 0) {
|
|
|
String s = getResources().getString(R.string.have_not_been_shared);
|
|
|
String ss = s.substring(3, s.length());
|
|
|
StringBuilder sb = new StringBuilder(productname);
|
|
|
shareddeviceproductname.setText(sb.append(ss));
|
|
|
shareddeviceproductname.setVisibility(View.VISIBLE);
|
|
|
llSharedTo.setVisibility(View.GONE);
|
|
|
} else {
|
|
|
tvSharedTo.setText(productname + getResources().getString(R.string.sharedto));
|
|
|
llSharedTo.setVisibility(View.VISIBLE);
|
|
|
shareddeviceproductname.setVisibility(View.GONE);
|
|
|
}
|
|
|
myadapter = new myadapter();
|
|
|
mListView.setAdapter(myadapter);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
private TextView tvSharedTo;
|
|
|
private LinearLayout llSharedTo;
|
|
|
|
|
|
|
|
|
@Override
|
|
|
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
|
|
|
|
|
|
// 动态找到布局文件,再从这个布局中find出TextView对象
|
|
|
View contextView = inflater.inflate(R.layout.activity_gos_shared_list, container, false);
|
|
|
mListView = (SlideListView2) contextView.findViewById(R.id.mysharedlist);
|
|
|
mListView.initSlideMode(SlideListView2.MOD_RIGHT);
|
|
|
|
|
|
shareddeviceproductname = (TextView) contextView.findViewById(R.id.shareddeviceproductname);
|
|
|
tvSharedTo = (TextView) contextView.findViewById(R.id.tvSharedTo);
|
|
|
llSharedTo = (LinearLayout) contextView.findViewById(R.id.llSharedTo);
|
|
|
Bundle arguments = getArguments();
|
|
|
productname = arguments.getString("productname");
|
|
|
|
|
|
|
|
|
initdata();
|
|
|
return contextView;
|
|
|
}
|
|
|
|
|
|
public myadapter getmyadapter() {
|
|
|
return myadapter;
|
|
|
}
|
|
|
|
|
|
private void initdata() {
|
|
|
SharedPreferences spf = getActivity().getSharedPreferences("set", Context.MODE_PRIVATE);
|
|
|
token = spf.getString("Token", "");
|
|
|
uid = spf.getString("Uid", "");
|
|
|
|
|
|
deviceID = getArguments().getString("deviceid");
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void onActivityCreated(Bundle savedInstanceState) {
|
|
|
super.onActivityCreated(savedInstanceState);
|
|
|
}
|
|
|
|
|
|
// listview的adapter,通过刷新的bound对象的属性值来判断当前应该现实的是什么
|
|
|
class myadapter extends BaseAdapter {
|
|
|
|
|
|
private String uid;
|
|
|
|
|
|
@Override
|
|
|
public int getCount() {
|
|
|
return GosConstant.mybindUsers.size();
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public Object getItem(int arg0) {
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public long getItemId(int arg0) {
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public View getView(final int position, View convertView, ViewGroup parent) {
|
|
|
ViewHolder holder;
|
|
|
|
|
|
if (convertView == null) {
|
|
|
convertView = LayoutInflater.from(getContext()).inflate(
|
|
|
R.layout.gos_shared_by_me_activity, null);
|
|
|
holder = new ViewHolder();
|
|
|
holder.rlmyhome = (RelativeLayout) convertView.findViewById(R.id.rlmyhome);
|
|
|
holder.tvDeviceName = (TextView) convertView.findViewById(R.id.tvDeviceName);
|
|
|
holder.tvDeviceMac = (TextView) convertView.findViewById(R.id.tvDeviceMac);
|
|
|
holder.tvDeviceStatus = (TextView) convertView.findViewById(R.id.tvDeviceStatus);
|
|
|
holder.delete2name = (TextView) convertView.findViewById(R.id.delete2name);
|
|
|
holder.delete3name = (TextView) convertView.findViewById(R.id.delete3name);
|
|
|
holder.delete2 = (LinearLayout) convertView.findViewById(R.id.delete2);
|
|
|
holder.delete3 = (LinearLayout) convertView.findViewById(R.id.delete3);
|
|
|
convertView.setTag(holder);
|
|
|
} else {
|
|
|
holder = (ViewHolder) convertView.getTag();
|
|
|
}
|
|
|
|
|
|
holder.rlmyhome.setPadding(0, 0, AssetsUtils.diptopx(getContext(), -90), 0);
|
|
|
holder.delete3.setVisibility(View.GONE);
|
|
|
|
|
|
holder.delete2name.setText(getResources().getString(R.string.cancel_sharing));
|
|
|
|
|
|
holder.delete2.setVisibility(View.VISIBLE);
|
|
|
|
|
|
holder.delete2name.setText(getResources().getString(R.string.cancel_sharing));
|
|
|
|
|
|
holder.tvDeviceStatus.setVisibility(View.GONE);
|
|
|
|
|
|
GizUserInfo userInfo = GosConstant.mybindUsers.get(position);
|
|
|
|
|
|
uid = userInfo.getUid();
|
|
|
|
|
|
String email = userInfo.getEmail();
|
|
|
|
|
|
String phone = userInfo.getPhone();
|
|
|
|
|
|
String username = userInfo.getUsername();
|
|
|
|
|
|
String remark = userInfo.getRemark();
|
|
|
String deviceBindTime = userInfo.getDeviceBindTime();
|
|
|
|
|
|
deviceBindTime = DateUtil.utc2Local(deviceBindTime);
|
|
|
holder.tvDeviceMac.setText(deviceBindTime);
|
|
|
|
|
|
if (!TextUtils.isEmpty(uid) && !uid.equals("null")) {
|
|
|
String myuid = uid.substring(0, 3) + "***" + uid.substring(uid.length() - 4, uid.length());
|
|
|
holder.tvDeviceName.setText(myuid);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!TextUtils.isEmpty(email) && !email.equals("null")) {
|
|
|
|
|
|
holder.tvDeviceName.setText(email);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!TextUtils.isEmpty(phone) && !phone.equals("null")) {
|
|
|
|
|
|
holder.tvDeviceName.setText(phone);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!TextUtils.isEmpty(username) && !username.equals("null")) {
|
|
|
|
|
|
holder.tvDeviceName.setText(username);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!TextUtils.isEmpty(remark) && !remark.equals("null")) {
|
|
|
|
|
|
holder.tvDeviceName.setText(remark);
|
|
|
|
|
|
}
|
|
|
final String s = holder.tvDeviceName.getText().toString();
|
|
|
holder.delete2name.setOnClickListener(new OnClickListener() {
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View arg0) {
|
|
|
|
|
|
quitAlert(getActivity(), s, GosConstant.mybindUsers.get(position).getUid());
|
|
|
}
|
|
|
});
|
|
|
|
|
|
return convertView;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
class ViewHolder {
|
|
|
TextView tvDeviceName;
|
|
|
TextView tvDeviceMac;
|
|
|
TextView tvDeviceStatus;
|
|
|
TextView delete2name;
|
|
|
TextView delete3name;
|
|
|
LinearLayout delete2;
|
|
|
LinearLayout delete3;
|
|
|
RelativeLayout rlmyhome;
|
|
|
}
|
|
|
|
|
|
protected void quitAlert(Context context, String username, final String uid2) {
|
|
|
final Dialog dialog = new AlertDialog.Builder(getActivity(),R.style.alert_dialog_style)
|
|
|
.setView(new EditText(getActivity())).create();
|
|
|
dialog.setCanceledOnTouchOutside(false);
|
|
|
dialog.show();
|
|
|
|
|
|
Window window = dialog.getWindow();
|
|
|
window.setContentView(R.layout.alert_gos_quit);
|
|
|
WindowManager.LayoutParams layoutParams = window.getAttributes();
|
|
|
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
|
|
|
window.setAttributes(layoutParams);
|
|
|
LinearLayout llNo, llSure;
|
|
|
llNo = (LinearLayout) window.findViewById(R.id.llNo);
|
|
|
llSure = (LinearLayout) window.findViewById(R.id.llSure);
|
|
|
|
|
|
TextView view3 = (TextView) window.findViewById(R.id.textView3);
|
|
|
view3.setVisibility(View.VISIBLE);
|
|
|
TextView tv = (TextView) window.findViewById(R.id.tv_prompt);
|
|
|
|
|
|
String userstring = getResources().getString(R.string.deleteuserpremiss);
|
|
|
String[] split = userstring.split("xxx");
|
|
|
|
|
|
tv.setText(split[0] + username + split[1]);
|
|
|
|
|
|
llNo.setOnClickListener(new OnClickListener() {
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
dialog.cancel();
|
|
|
}
|
|
|
});
|
|
|
|
|
|
llSure.setOnClickListener(new OnClickListener() {
|
|
|
|
|
|
@Override
|
|
|
public void onClick(View v) {
|
|
|
GizDeviceSharing.unbindUser(token, deviceID, uid2);
|
|
|
dialog.cancel();
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
}
|