Browse Source

图片点击返回,我的群组修正,屏蔽群消息显示问题

gongpm 10 years ago
parent
commit
0938efde57

+ 2 - 0
WeiChat/src/main/java/com/sk/weichat/bean/Friend.java

@@ -42,9 +42,11 @@ public class Friend implements Serializable {
 	// -1:黑名单;0:陌生人;1:单方关注;2:互为好友;8:显示系统号;9:非显示系统号
 	public static final int STATUS_NO_SHOW_SYSTEM = 9;// 非显示系统号
 	public static final int STATUS_SYSTEM = 8;// 显示系统号
+
 	public static final int STATUS_FRIEND = 2;// 好友
 	public static final int STATUS_ATTENTION = 1;// 关注
 	public static final int STATUS_UNKNOW = 0;// 陌生人(不可能出现在好友表,只可能在新朋友消息表)
+
 	public static final int STATUS_BLACKLIST = -1;// 黑名单
 	public static final int STATUS_SELF = 9999;// 本人,特殊状态,在数据库中没有,在UI层判断是不是当前登陆者本人,显示控制不同表现
 

+ 6 - 29
WeiChat/src/main/java/com/sk/weichat/ui/MainActivity.java

@@ -123,7 +123,7 @@ public class MainActivity extends BaseActivity implements NetWorkObserver, AuthS
     private FriendFragment mFriend;// 互相关注
     private AttentionFragment mAttention;// 单向关注
     private RoomFragment mRoom;// 关注房间
-    //
+    public static String  BAIDU_PUSH ="BAIDUPUSH";
     private boolean mXmppBind;
     private CoreService mCoreService;
     private boolean isPause = true;// 界面是否暂停
@@ -142,27 +142,7 @@ public class MainActivity extends BaseActivity implements NetWorkObserver, AuthS
     };
     private int mImStatus = AuthStateListener.AUTH_STATE_NOT;
 
-    // TODO 百度推送关闭打开广播接收
-    public static String BAIDU_PUSH = "BAIDUOUSH";
-    public static String BAIDU_PUSH_RECEIVER = "BAIDUOUSH";
 
-    private BroadcastReceiver baiduPushReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            Log.i("gongpengming", "接收到广播");
-            if (BAIDU_PUSH_RECEIVER.equals(intent.getAction())) {
-                boolean isPush = intent.getBooleanExtra(BAIDU_PUSH_RECEIVER, true);
-                Log.i("gongpengming", "接收到广播" + isPush);
-                if (isPush) {
-                    PushManager.resumeWork(MainActivity.this);
-                    PushManager.bind(MainActivity.this, 1);
-                } else {
-                    PushManager.stopWork(MainActivity.this);
-                    PushManager.unbind(MainActivity.this);
-                }
-            }
-        }
-    };
     private ServiceConnection mXmppServiceConnection = new ServiceConnection() {
         @Override
         public void onServiceDisconnected(ComponentName name) {
@@ -401,11 +381,7 @@ public class MainActivity extends BaseActivity implements NetWorkObserver, AuthS
         getSupportActionBar().setDisplayHomeAsUpEnabled(false);
         /**@注释:主页布局文件 */
         setContentView(R.layout.activity_main);
-        //注册百度推送广播接收
-        fiter = new IntentFilter();
-        fiter.setPriority(1000);
-        fiter.addAction(BAIDU_PUSH_RECEIVER);
-        registerReceiver(baiduPushReceiver, fiter);
+
 
         SIP_USERNAME = MyApplication.getInstance().mLoginUser.getUserId();
         String host = mConfig.MeetingHost;
@@ -415,7 +391,9 @@ public class MainActivity extends BaseActivity implements NetWorkObserver, AuthS
         Log.i("wang", "usId:" + MyApplication.getInstance().mLoginUser.getUserId());
         //TODO 百度开始推送
         PushManager.startWork(getApplicationContext(), PushConstants.LOGIN_TYPE_API_KEY, "iF9q4ruTpFwQ9x8pY6Edqm9G");
-        if (PreferenceUtils.getBoolean(MyApplication.getInstance(), BAIDU_PUSH)) {
+        int isPush = PreferenceUtils.getInt(MyApplication.getInstance(), MainActivity.BAIDU_PUSH);
+        if (isPush==0) {
+            Log.i("MainActivity","关闭百度推送");
             PushManager.stopWork(this);
             PushManager.unbind(this);
         }
@@ -574,7 +552,6 @@ public class MainActivity extends BaseActivity implements NetWorkObserver, AuthS
         }
         unregisterReceiver(mUpdateUnReadReceiver);
         unregisterReceiver(mUserLogInOutReceiver);
-        unregisterReceiver(baiduPushReceiver);
         screenListener.unregisterListener();
         //移除广播接收
         super.onDestroy();
@@ -679,7 +656,6 @@ public class MainActivity extends BaseActivity implements NetWorkObserver, AuthS
     @Override
     protected void onResume() {
         super.onResume();
-        Log.i("gongpengmingRESUME", "重回界面");
         isPause = false;
         if (mMsgNumNeedUpdate) {
             initMsgUnReadTips(MyApplication.getInstance().mLoginUser.getUserId());
@@ -737,4 +713,5 @@ public class MainActivity extends BaseActivity implements NetWorkObserver, AuthS
     }
 
 
+
 }

+ 0 - 2
WeiChat/src/main/java/com/sk/weichat/ui/circle/BusinessCircleActivity.java

@@ -450,7 +450,6 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView{
 				mConfig.MSG_LIST, new Response.ErrorListener() {
 			@Override
 			public void onErrorResponse(VolleyError arg0) {
-				Log.i("gongpengmingTIME", "" + arg0.getMessage());
 				ToastUtil.showErrorNet(BusinessCircleActivity.this);
 			}
 		}, new StringJsonArrayRequest.Listener<PublicMessage>() {
@@ -483,7 +482,6 @@ public class BusinessCircleActivity extends BaseActivity implements showCEView{
 	}
 	//TODO 接口错误,后期整合如无用删除
 	private void requestMyBusiness(final boolean isPullDwonToRefersh,int i) {
-		Log.i("gongpengming","请求网络"+isPullDwonToRefersh);
 		if (isPullDwonToRefersh) {
 			mPageIndex = 0;
 		}

+ 0 - 9
WeiChat/src/main/java/com/sk/weichat/ui/circle/view/PMsgDetailHeaderView.java

@@ -222,7 +222,6 @@ public class PMsgDetailHeaderView extends LinearLayout {
 			}
 		}
 	};// 防止别人狂点赞那个按钮
-
 	/**
 	 * 因为布局文件都是写死的,因此可以直接算
 	 */
@@ -230,10 +229,8 @@ public class PMsgDetailHeaderView extends LinearLayout {
 		int paddingDip = 22 * 2 + 70 + 6 * 2;
 		int moreIconWidth = (int) (density / 2.0f * 40);
 		int width = displayWith - moreIconWidth - DisplayUtil.dip2px(getContext(), paddingDip);
-
 		int imgWidth = DisplayUtil.dip2px(getContext(), 25);// 小头像带下为25dp
 		int baseMargin = DisplayUtil.dip2px(getContext(), 8);// 两个小头像中间最少间距8dp
-
 		int iconCount = 0;
 		int sumWidth = 0;
 		while (sumWidth < width) {
@@ -261,7 +258,6 @@ public class PMsgDetailHeaderView extends LinearLayout {
 			// mPraiseUserAvatars[i].setVisibility(View.GONE);
 		}
 	}
-
 	public void setPMsgDetailListener(PMsgDetailListener listener) {
 		mPMsgDetailListener = listener;
 	}
@@ -276,7 +272,6 @@ public class PMsgDetailHeaderView extends LinearLayout {
 		mPublicMessage = publicMessage;
 		// Update UI
 		AvatarHelper.getInstance().displayAvatar(mPublicMessage.getUserId(), mAvatarImg, true);
-
 		mAvatarImg.setOnClickListener(new OnClickListener() {
 			@Override
 			public void onClick(View v) {
@@ -289,13 +284,9 @@ public class PMsgDetailHeaderView extends LinearLayout {
 				getContext().startActivity(intent);
 			}
 		});
-
 		mNicknameTv.setText(Friend.getShowName(mPublicMessage.getUserId(), mPublicMessage.getNickName()));
-
 		mTimeTv.setText(TimeUtils.getFriendlyTimeDesc(getContext(), (int) mPublicMessage.getTime()));
-
 		mContentTv.setText(mPublicMessage.getBody().getText());
-
 		mListenCountTv.setText(mPublicMessage.getPlay() + "");
 		mShareCountTv.setText(mPublicMessage.getForward() + "");
 		mGiftCountTv.setText(mPublicMessage.getMoney() + "");

+ 0 - 2
WeiChat/src/main/java/com/sk/weichat/ui/erp/fragment/LinksManFragment.java

@@ -248,8 +248,6 @@ public class LinksManFragment extends XutilsFragment implements View.OnClickList
                 try {
                     friend = mSortFriends.get((int) id).getBean();
                 } catch (ArrayIndexOutOfBoundsException e) {
-                    Log.w("gongpengming", "数组越界");
-                    ToastUtil.showToast(getActivity(),"数组越界");
                    return;
                 }
 

+ 1 - 12
WeiChat/src/main/java/com/sk/weichat/ui/erp/fragment/WorksFragment.java

@@ -99,24 +99,13 @@ public class WorksFragment extends XutilsFragment implements View.OnClickListene
                 MainActivity.isUnReadWork=false;
                 Intent intent = new Intent(getActivity(), BusinessCircleActivity.class);
                 intent.putExtra(AppConstant.EXTRA_CIRCLE_TYPE, AppConstant.CIRCLE_TYPE_MY_BUSINESS);
+
                 startActivity(intent);
                 break;
 
         }
     }
 
-    public void onClickFragment(boolean b) {
-        if (iv_remain==null){
-            Log.i("gongpengming","iv_remain为空");
-            iv_remain= (ImageView) findViewById(R.id.iv_remain);
-        }
-        if (b){
-            iv_remain.setVisibility(View.VISIBLE);
-        }else{
-            iv_remain.setVisibility(View.GONE);
-        }
-//        requestMyBusiness();
-    }
 //TODO 修改为在在进入主页面时候获取新内容
     private void requestMyBusiness() {
         if (config == null) {

+ 1 - 4
WeiChat/src/main/java/com/sk/weichat/ui/groupchat/GroupChatFragment.java

@@ -163,7 +163,6 @@ public class GroupChatFragment extends EasyFragment {
 	}
 
 	private void interMucChat(String roomJid, String roomName) {
-		Log.i("gongpengmingGRO","加入群聊");
 		Intent intent = new Intent(getActivity(), MucChatActivity.class);
 		intent.putExtra(AppConstant.EXTRA_USER_ID, roomJid);
 		intent.putExtra(AppConstant.EXTRA_NICK_NAME, roomName);
@@ -249,9 +248,8 @@ public class GroupChatFragment extends EasyFragment {
 		params.put("pageIndex", String.valueOf(mPageIndex));
 		params.put("pageSize", String.valueOf(AppConfig.PAGE_SIZE));
 		params.put("access_token", MyApplication.getInstance().mAccessToken);
-
 		StringJsonArrayRequest<MucRoom> request = new StringJsonArrayRequest<MucRoom>(
-				mActivity.mConfig.ROOM_LIST, new ErrorListener() {
+				mActivity.mConfig.ROOM_LIST_HIS, new ErrorListener() {
 					@Override
 					public void onErrorResponse(VolleyError arg0) {
 						ToastUtil.showErrorNet(getActivity());
@@ -264,7 +262,6 @@ public class GroupChatFragment extends EasyFragment {
 						boolean success = Result.defaultParser(getActivity(),
 								result, true);
 						if (success) {
-
 							mPageIndex++;
 							if (isPullDwonToRefersh) {
 								mMucRooms.clear();

+ 192 - 199
WeiChat/src/main/java/com/sk/weichat/ui/me/SettingActivity.java

@@ -35,204 +35,197 @@ import java.io.File;
  * 设置
  */
 public class SettingActivity extends ActionBackActivity implements View.OnClickListener {
-	private Button mExitBtn;
-	private TextView mCacheTv;
+    private Button mExitBtn;
+    private TextView mCacheTv;
     @ViewInject(R.id.uas_website_tv)
-	private TextView uas_website_tv;
-	private String IS_CLICKED="CLICKED";
-	private CheckBox close_push_rb;
-	@Override
-	protected void onCreate(Bundle savedInstanceState) {
-		super.onCreate(savedInstanceState);
-		setContentView(R.layout.activity_setting);
-		ViewUtils.inject(this);
-		getSupportActionBar().setTitle(R.string.setting);
-		initView();
-
-	}
-
-	private void initView() {
-		mExitBtn = (Button) findViewById(R.id.exit_btn);
-		close_push_rb= (CheckBox) findViewById(R.id.close_push_rb);
-		if (PreferenceUtils.getBoolean(MyApplication.getInstance(),IS_CLICKED)){
-			close_push_rb.setChecked(true);
-		}else{
-			close_push_rb.setChecked(PreferenceUtils.getBoolean(MyApplication.getInstance(),MainActivity.BAIDU_PUSH));
-		}
-		close_push_rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
-			@Override
-			public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
-				if (!PreferenceUtils.getBoolean(MyApplication.getInstance(),IS_CLICKED)){
-					PreferenceUtils.putBoolean(MyApplication.getInstance(),IS_CLICKED,true);
-				}
-				Intent intent=new Intent();
-				if(b){
-					Log.i("gongpengming","打开推送");
-					PreferenceUtils.putBoolean(MyApplication.getInstance(),MainActivity.BAIDU_PUSH,true);
-					intent.putExtra(MainActivity.BAIDU_PUSH_RECEIVER,true);
-					intent.setAction(MainActivity.BAIDU_PUSH_RECEIVER);
-					SettingActivity.this.sendBroadcast(intent);
-
-				}else{
-					PreferenceUtils.putBoolean(MyApplication.getInstance(),MainActivity.BAIDU_PUSH,false);
-					intent.putExtra(MainActivity.BAIDU_PUSH_RECEIVER,false);
-					intent.setAction(MainActivity.BAIDU_PUSH_RECEIVER);
-					SettingActivity.this.sendBroadcast(intent);
-					Log.i("gongpengming","关闭推送");
-
-				}
-			}
-		});
-		mExitBtn.setOnClickListener(new View.OnClickListener() {
-			@Override
-			public void onClick(View v) {
-				showExitDialog();
-			}
-		});
-		mCacheTv = (TextView) findViewById(R.id.cache_tv);
-		findViewById(R.id.clear_cache_rl).setOnClickListener(this);
-		findViewById(R.id.use_help_rl).setOnClickListener(this);
-		findViewById(R.id.about_us_rl).setOnClickListener(this);
-
-		long cacheSize = GetFileSizeUtil.getFileSize(new File(MyApplication.getInstance().mAppDir));
-		mCacheTv.setText(GetFileSizeUtil.formatFileSize(cacheSize));
-
-		uas_website_tv.setText(CommonUtil.getSharedPreferences(this,"erp_baseurl"));
-	}
-
-	private void showExitDialog() {
-		new AlertDialog.Builder(mContext).setTitle(R.string.app_name).setMessage(R.string.exit_tips).setNegativeButton(R.string.cancel, null)
-				.setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
-					@Override
-					public void onClick(DialogInterface dialog, int which) {
-						UserSp.getInstance(mContext).clearUserInfo();
-						LoginHelper.broadcastLogout(mContext);
-					}
-				}).create().show();
-	}
-
-	@Override
-	public void onClick(View v) {
-		switch (v.getId()) {
-		case R.id.clear_cache_rl:
-			clearCache();
-			break;
-		case R.id.use_help_rl: {// 使用帮助
-			Intent intent = new Intent(mContext, WebViewActivity.class);
-			intent.putExtra(WebViewActivity.EXTRA_URL, mConfig.help_url);
-			intent.putExtra(WebViewActivity.EXTRA_TITLE, getString(R.string.use_help));
-			startActivity(intent);
-		}
-			break;
-		case R.id.about_us_rl:// 关于我们
-			startActivity(new Intent(mContext, AboutActivity.class));
-			break;
-		}
-	}
-
-	private void clearCache() {
-		String filePath = MyApplication.getInstance().mAppDir;
-		new ClearCacheAsyncTaska(filePath).execute(true);
-	}
-
-	private class ClearCacheAsyncTaska extends AsyncTask<Boolean, String, Integer> {
-
-		private File rootFile;
-		private ProgressDialog progressDialog;
-
-		private int filesNumber = 0;
-		private boolean canceled = false;
-
-		public ClearCacheAsyncTaska(String filePath) {
-			this.rootFile = new File(filePath);
-		}
-
-		@Override
-		protected void onPreExecute() {
-			filesNumber = GetFileSizeUtil.getFolderSubFilesNumber(rootFile);
-
-			progressDialog = new ProgressDialog(mContext);
-			progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
-			progressDialog.setIndeterminate(false);
-			progressDialog.setCancelable(false);
-			progressDialog.setMessage(getString(R.string.deleteing));
-			progressDialog.setMax(filesNumber);
-			progressDialog.setProgress(0);
-			// 设置取消按钮
-			progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.cancel), new DialogInterface.OnClickListener() {
-				public void onClick(DialogInterface dialog, int i) {
-					canceled = true;
-				}
-			});
-			progressDialog.show();
-		}
-
-		/**
-		 * 返回true代表删除完成,false表示取消了删除
-		 */
-		@Override
-		protected Integer doInBackground(Boolean... params) {
-			if (filesNumber == 0) {
-				return 0;
-			}
-			boolean deleteSubFolder = params[0];// 是否删除已清空的子文件夹
-			return deleteFolder(rootFile, true, deleteSubFolder, 0);
-		}
-
-		@Override
-		protected void onProgressUpdate(String... values) {
-			super.onProgressUpdate(values);
-			// String filePath = values[0];
-			int progress = Integer.parseInt(values[1]);
-			// progressDialog.setMessage(filePath);
-			progressDialog.setProgress(progress);
-		}
-
-		@Override
-		protected void onPostExecute(Integer result) {
-			super.onPostExecute(result);
-			progressDialog.dismiss();
-			if (!canceled && result == filesNumber) {
-				ToastUtil.showToast(mContext, R.string.clear_completed);
-			}
-			long cacheSize = GetFileSizeUtil.getFileSize(rootFile);
-			mCacheTv.setText(GetFileSizeUtil.formatFileSize(cacheSize));
-		}
-
-		private long notifyTime = 0;
-
-		/**
-		 * 是否删除完毕
-		 * @param file
-		 * @param deleteSubFolder
-		 * @return
-		 */
-		private int deleteFolder(File file, boolean rootFolder, boolean deleteSubFolder, int progress) {
-			if (file == null || !file.exists() || !file.isDirectory()) {
-				return 0;
-			}
-			File flist[] = file.listFiles();
-			for (File subFile : flist) {
-				if (canceled) {
-					return progress;
-				}
-				if (subFile.isFile()) {
-					subFile.delete();
-					progress++;
-					long current = System.currentTimeMillis();
-					if (current - notifyTime > 200) {// 200毫秒更新一次界面
-						notifyTime = current;
-						publishProgress(subFile.getAbsolutePath(), String.valueOf(progress));
-					}
-				} else {
-					progress = deleteFolder(subFile, false, deleteSubFolder, progress);
-					if (deleteSubFolder) {
-						subFile.delete();
-					}
-				}
-			}
-			return progress;
-		}
-	}
-
+    private TextView uas_website_tv;
+    private CheckBox close_push_rb;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_setting);
+        ViewUtils.inject(this);
+        getSupportActionBar().setTitle(R.string.setting);
+        initView();
+
+    }
+
+    private void initView() {
+        mExitBtn = (Button) findViewById(R.id.exit_btn);
+        close_push_rb = (CheckBox) findViewById(R.id.close_push_rb);
+
+        int isPush = PreferenceUtils.getInt(MyApplication.getInstance(), MainActivity.BAIDU_PUSH);
+        if (isPush == -1) {//第一次进入没有配置
+            close_push_rb.setChecked(true);
+        } else if (isPush == 0) {//选择不推送
+            close_push_rb.setChecked(false);
+        } else { //选择推送
+            close_push_rb.setChecked(true);
+        }
+
+        close_push_rb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
+                if (b) {
+                    PreferenceUtils.putInt(MyApplication.getInstance(), MainActivity.BAIDU_PUSH, 1);
+                    PushManager.resumeWork(MyApplication.getInstance());
+                    PushManager.bind(MyApplication.getInstance(), 1);
+                    close_push_rb.setChecked(true);
+                } else {
+                    PushManager.stopWork(MyApplication.getInstance());
+                    PushManager.unbind(MyApplication.getInstance());
+                    PreferenceUtils.putInt(MyApplication.getInstance(), MainActivity.BAIDU_PUSH, 0);
+                    close_push_rb.setChecked(false);
+                }
+            }
+        });
+        mExitBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                showExitDialog();
+
+            }
+        });
+        mCacheTv = (TextView) findViewById(R.id.cache_tv);
+        findViewById(R.id.clear_cache_rl).setOnClickListener(this);
+        findViewById(R.id.use_help_rl).setOnClickListener(this);
+        findViewById(R.id.about_us_rl).setOnClickListener(this);
+        long cacheSize = GetFileSizeUtil.getFileSize(new File(MyApplication.getInstance().mAppDir));
+        mCacheTv.setText(GetFileSizeUtil.formatFileSize(cacheSize));
+        uas_website_tv.setText(CommonUtil.getSharedPreferences(this, "erp_baseurl"));
+    }
+
+    private void showExitDialog() {
+        new AlertDialog.Builder(mContext).setTitle(R.string.app_name).setMessage(R.string.exit_tips).setNegativeButton(R.string.cancel, null)
+                .setPositiveButton(R.string.sure, new DialogInterface.OnClickListener() {
+                    @Override
+                    public void onClick(DialogInterface dialog, int which) {
+                        UserSp.getInstance(mContext).clearUserInfo();
+                        LoginHelper.broadcastLogout(mContext);
+                    }
+                }).create().show();
+    }
+
+    @Override
+    public void onClick(View v) {
+        switch (v.getId()) {
+            case R.id.clear_cache_rl:
+                clearCache();
+                break;
+            case R.id.use_help_rl: {  // 使用帮助
+                Intent intent = new Intent(mContext, WebViewActivity.class);
+                intent.putExtra(WebViewActivity.EXTRA_URL, mConfig.help_url);
+                intent.putExtra(WebViewActivity.EXTRA_TITLE, getString(R.string.use_help));
+                startActivity(intent);
+            }
+            break;
+            case R.id.about_us_rl:// 关于我们
+                startActivity(new Intent(mContext, AboutActivity.class));
+                break;
+        }
+    }
+
+    private void clearCache() {
+        String filePath = MyApplication.getInstance().mAppDir;
+        new ClearCacheAsyncTaska(filePath).execute(true);
+    }
+
+    private class ClearCacheAsyncTaska extends AsyncTask<Boolean, String, Integer> {
+        private File rootFile;
+        private ProgressDialog progressDialog;
+        private int filesNumber = 0;
+        private boolean canceled = false;
+
+        public ClearCacheAsyncTaska(String filePath) {
+            this.rootFile = new File(filePath);
+        }
+
+        @Override
+        protected void onPreExecute() {
+            filesNumber = GetFileSizeUtil.getFolderSubFilesNumber(rootFile);
+            progressDialog = new ProgressDialog(mContext);
+            progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
+            progressDialog.setIndeterminate(false);
+            progressDialog.setCancelable(false);
+            progressDialog.setMessage(getString(R.string.deleteing));
+            progressDialog.setMax(filesNumber);
+            progressDialog.setProgress(0);
+            // 设置取消按钮
+            progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE, getString(R.string.cancel), new DialogInterface.OnClickListener() {
+                public void onClick(DialogInterface dialog, int i) {
+                    canceled = true;
+                }
+            });
+            progressDialog.show();
+        }
+
+        /**
+         * 返回true代表删除完成,false表示取消了删除
+         */
+        @Override
+        protected Integer doInBackground(Boolean... params) {
+            if (filesNumber == 0) {
+                return 0;
+            }
+            boolean deleteSubFolder = params[0];// 是否删除已清空的子文件夹
+            return deleteFolder(rootFile, true, deleteSubFolder, 0);
+        }
+
+        @Override
+        protected void onProgressUpdate(String... values) {
+            super.onProgressUpdate(values);
+            // String filePath = values[0];
+            int progress = Integer.parseInt(values[1]);
+            // progressDialog.setMessage(filePath);
+            progressDialog.setProgress(progress);
+        }
+
+        @Override
+        protected void onPostExecute(Integer result) {
+            super.onPostExecute(result);
+            progressDialog.dismiss();
+            if (!canceled && result == filesNumber) {
+                ToastUtil.showToast(mContext, R.string.clear_completed);
+            }
+            long cacheSize = GetFileSizeUtil.getFileSize(rootFile);
+            mCacheTv.setText(GetFileSizeUtil.formatFileSize(cacheSize));
+        }
+
+        private long notifyTime = 0;
+
+        /**
+         * 是否删除完毕
+         *
+         * @param file
+         * @param deleteSubFolder
+         * @return
+         */
+        private int deleteFolder(File file, boolean rootFolder, boolean deleteSubFolder, int progress) {
+            if (file == null || !file.exists() || !file.isDirectory()) {
+                return 0;
+            }
+            File flist[] = file.listFiles();
+            for (File subFile : flist) {
+                if (canceled) {
+                    return progress;
+                }
+                if (subFile.isFile()) {
+                    subFile.delete();
+                    progress++;
+                    long current = System.currentTimeMillis();
+                    if (current - notifyTime > 200) {// 200毫秒更新一次界面
+                        notifyTime = current;
+                        publishProgress(subFile.getAbsolutePath(), String.valueOf(progress));
+                    }
+                } else {
+                    progress = deleteFolder(subFile, false, deleteSubFolder, progress);
+                    if (deleteSubFolder) {
+                        subFile.delete();
+                    }
+                }
+            }
+            return progress;
+        }
+    }
 }

+ 0 - 2
WeiChat/src/main/java/com/sk/weichat/ui/message/ChatActivity.java

@@ -891,7 +891,6 @@ public class ChatActivity extends ActionBackActivity
                 new Response.ErrorListener() {
                     @Override
                     public void onErrorResponse(VolleyError arg0) {
-                        Log.i("gongpengming", "获取失败");
                         message.setContent(-1 + "");//   当失败时候显示保密
                         // 0表示女,1表示男
                         sendMessage(message);
@@ -908,7 +907,6 @@ public class ChatActivity extends ActionBackActivity
                     // 0表示女,1表示男
                     sendMessage(message);
                 } else {
-                    Log.i("gongpengming", "获取失败");
                     message.setContent(-1+ "");//   当失败时候显示保密
                     // 0表示女,1表示男
                     sendMessage(message);

+ 6 - 7
WeiChat/src/main/java/com/sk/weichat/ui/message/MucChatActivity.java

@@ -90,10 +90,9 @@ public class MucChatActivity extends ActionBackActivity
     private Handler mHandler = new Handler(){
         @Override
         public void handleMessage(Message msg) {
+            //TODO 群聊时发送百度推送
             if(msg.what==5){
-                Log.i("gongpengmingRESULT","msg.what==5"+msg.getData().getString("result"));
             }else{
-                Log.i("gongpengmingRESULT","msg.what=="+msg.what+msg.getData().getString("result"));
             }
 
         }
@@ -518,9 +517,11 @@ public class MucChatActivity extends ActionBackActivity
                 if (success && result.getData() != null) {
                     List<MucRoomMember> members = result.getData().getMembers();
                     int[] str = new int[members.size() - 1];
-                    for (int i = 0; i < members.size(); i++) {
-                        if (!members.get(i).getUserId().equals(MucChatActivity.this.mLoginUserId))
-                            str[i] = Integer.parseInt(members.get(i).getUserId());
+                    for (int i = 0,j=0; i < members.size(); i++) {
+                        if (!members.get(i).getUserId().equals(MucChatActivity.this.mLoginUserId)){
+                            str[j] = Integer.parseInt(members.get(i).getUserId());
+                            j++;
+                        }
                     }
                     //TODO 获取完群组成员id后发送百度推送
                     sendPushTask(mLoginUserId, mFriend.getUserId(), body, str);
@@ -970,7 +971,6 @@ public class MucChatActivity extends ActionBackActivity
                 new Response.ErrorListener() {
                     @Override
                     public void onErrorResponse(VolleyError arg0) {
-                        Log.i("gongpengming", "获取失败");
                         message.setContent(-1 + "");//   当失败时候显示保密
                         // 0表示女,1表示男
                         sendMessage(message);
@@ -987,7 +987,6 @@ public class MucChatActivity extends ActionBackActivity
                     // 0表示女,1表示男
                     sendMessage(message);
                 } else {
-                    Log.i("gongpengming", "获取失败");
                     message.setContent(-1 + "");//   当失败时候显示保密
                     // 0表示女,1表示男
                     sendMessage(message);

+ 40 - 29
WeiChat/src/main/java/com/sk/weichat/ui/message/RoomInfoActivity.java

@@ -148,7 +148,7 @@ public class RoomInfoActivity extends BaseActivity {
     };
 
     private void initView() {
-        sc_tv= (TextView) findViewById(R.id.shield_chat_text);
+        sc_tv = (TextView) findViewById(R.id.shield_chat_text);
         mNoticeTv = (TextView) findViewById(R.id.notice_tv);
         mGridView = (MyGridView) findViewById(R.id.grid_view);
         mRoomNameTv = (TextView) findViewById(R.id.room_name_tv);
@@ -277,7 +277,14 @@ public class RoomInfoActivity extends BaseActivity {
         mRoomDescTv.setText(mRoom.getDescription());
         mCreatorTv.setText(mucRoom.getNickName());
         mCountTv.setText(mucRoom.getMaxUserSize() + "");
-
+        int s = FriendDao.getInstance().getFriendStatus(mLoginUserId, mRoom.getUserId());
+        //TODO 当前状态只有拉黑2和好友-1
+        if (s == -1) {
+            sc_tv.setText("取消屏蔽群消息");
+        } else {
+            sc_tv.setText("屏蔽群消息");
+        }
+//        sc_tv.setText(mucRoom.getS() + "");
         long createTime = mucRoom.getCreateTime();
         String formatDate = DateFormatUtil.getFormatDate(createTime * 1000);
         Log.d("wang", "createtime" + formatDate);
@@ -347,15 +354,15 @@ public class RoomInfoActivity extends BaseActivity {
                     deleteRoom(mRoom);
                 }
             });
+            //TODO 处理群消息屏蔽事件
             findViewById(R.id.shield_chat_rl).setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {//屏蔽群消息
 
-                    if(sc_tv.getText().toString().equals("屏蔽群消息")){
+                    if (sc_tv.getText().toString().equals("屏蔽群消息")) {
                         addBlacklist(mRoom);
                         sc_tv.setText("取消屏蔽群消息");
-                      }else
-                    if(sc_tv.getText().toString().equals("取消屏蔽群消息")){
+                    } else if (sc_tv.getText().toString().equals("取消屏蔽群消息")) {
                         removeBlacklist(mRoom);
                         sc_tv.setText("屏蔽群消息");
                     }
@@ -381,11 +388,10 @@ public class RoomInfoActivity extends BaseActivity {
             findViewById(R.id.shield_chat_rl).setOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View v) {//屏蔽群消息
-                    if(sc_tv.getText().toString().equals("屏蔽群消息")){
+                    if (sc_tv.getText().toString().equals("屏蔽群消息")) {
                         addBlacklist(mRoom);
                         sc_tv.setText("取消屏蔽群消息");
-                    }else
-                    if(sc_tv.getText().toString().equals("取消屏蔽群消息")){
+                    } else if (sc_tv.getText().toString().equals("取消屏蔽群消息")) {
                         removeBlacklist(mRoom);
                         sc_tv.setText("屏蔽群消息");
                     }
@@ -435,7 +441,7 @@ public class RoomInfoActivity extends BaseActivity {
 
     }
 
-    private AlertDialog.Builder builderChangeNickNameDialog=null;
+    private AlertDialog.Builder builderChangeNickNameDialog = null;
 
     /**
      * 修改群昵称
@@ -464,7 +470,7 @@ public class RoomInfoActivity extends BaseActivity {
                     }).setNegativeButton(getString(R.string.cancel), null);
 
             builderChangeNickNameDialog.create().show();
-            builderChangeNickNameDialog=null;
+            builderChangeNickNameDialog = null;
         }
     }
 
@@ -667,7 +673,7 @@ public class RoomInfoActivity extends BaseActivity {
      * @author:Administrator on 2016/3/23 10:47
      */
     @Deprecated
-    public void deleteRoom(){
+    public void deleteRoom() {
         HashMap<String, String> params = new HashMap<String, String>();
         params.put("access_token", MyApplication.getInstance().mAccessToken);
         params.put("roomId", mRoom.getRoomId());
@@ -687,14 +693,14 @@ public class RoomInfoActivity extends BaseActivity {
 
                 boolean success = Result.defaultParser(mContext, result, true);
                 if (success) {
-                 ToastUtil.showToast(RoomInfoActivity.this,"删除房间成功!");
-                  new Handler().postDelayed(new Runnable() {
-                      @Override
-                      public void run() {
-                          startActivity(new Intent(RoomInfoActivity.this, CommonFragmentActivity.class));
-                          //删除数据库中的房间
-                      }
-                  }, 1000);
+                    ToastUtil.showToast(RoomInfoActivity.this, "删除房间成功!");
+                    new Handler().postDelayed(new Runnable() {
+                        @Override
+                        public void run() {
+                            startActivity(new Intent(RoomInfoActivity.this, CommonFragmentActivity.class));
+                            //删除数据库中的房间
+                        }
+                    }, 1000);
 
                 }
             }
@@ -703,6 +709,7 @@ public class RoomInfoActivity extends BaseActivity {
 
 
     }
+
     //删除
     private void deleteRoom(final Friend sortFriend) {
         boolean deleteRoom = false;
@@ -711,7 +718,7 @@ public class RoomInfoActivity extends BaseActivity {
         }
         String url = null;
         if (deleteRoom) {
-            url =MyApplication.getInstance().getConfig().ROOM_DELETE;
+            url = MyApplication.getInstance().getConfig().ROOM_DELETE;
         } else {
             url = MyApplication.getInstance().getConfig().ROOM_MEMBER_DELETE;
         }
@@ -751,7 +758,6 @@ public class RoomInfoActivity extends BaseActivity {
     }
 
 
-
     private void deleteFriend(final Friend sortFriend) {
 
         Friend friend = sortFriend;
@@ -770,24 +776,29 @@ public class RoomInfoActivity extends BaseActivity {
     }
 
 
-    private  void exitMucChat(String toUserId) {
+    private void exitMucChat(String toUserId) {
         if (mCoreService != null) {
             mCoreService.exitMucChat(toUserId);
         }
     }
 
-    
+
     /**
      * @desc:移除黑名单
      * @author:Administrator on 2016/3/25 10:03
      */
-    public void removeBlacklist(final Friend sortFriend){
-        FriendDao.getInstance().updateFriendStatus(mLoginUserId,sortFriend.getUserId(),Friend.STATUS_FRIEND);
-        ViewUtil.ToastMessage(this,"取消群消息成功!");
+    public void removeBlacklist(final Friend sortFriend) {
+        FriendDao.getInstance().updateFriendStatus(mLoginUserId, sortFriend.getUserId(), Friend.STATUS_FRIEND);
+        int s = FriendDao.getInstance().getFriendStatus(mLoginUserId, sortFriend.getUserId());
+        ViewUtil.ToastMessage(this, "取消群消息成功!");
     }
-     /**@注释:拉黑 */
+
+    /**
+     * @注释:拉黑
+     */
     private void addBlacklist(final Friend sortFriend) {
-        FriendDao.getInstance().updateFriendStatus(mLoginUserId,sortFriend.getUserId(),Friend.STATUS_BLACKLIST);
+        FriendDao.getInstance().updateFriendStatus(mLoginUserId, sortFriend.getUserId(), Friend.STATUS_BLACKLIST);
+        int s = FriendDao.getInstance().getFriendStatus(mLoginUserId, sortFriend.getUserId());
         ViewUtil.ToastMessage(this, "屏蔽群消息成功!");
 //        HashMap<String, String> params = new HashMap<String, String>();
 //        params.put("access_token", MyApplication.getInstance().mAccessToken);
@@ -829,7 +840,7 @@ public class RoomInfoActivity extends BaseActivity {
 
     }
 
-    String HASHCODE=Integer.toHexString(this.hashCode()) + "@";
+    String HASHCODE = Integer.toHexString(this.hashCode()) + "@";
 
     private void deleteMember(final int position, String userId) {
         HashMap<String, String> params = new HashMap<String, String>();

+ 0 - 2
WeiChat/src/main/java/com/sk/weichat/ui/message/SelectCardActivity.java

@@ -74,7 +74,6 @@ public class SelectCardActivity extends BaseActivity {
             mXmppService = ((CoreService.CoreServiceBinder) service).getService();
         }
     };
-
     @Override
     protected void onDestroy() {
         super.onDestroy();
@@ -96,7 +95,6 @@ public class SelectCardActivity extends BaseActivity {
             @Override
             public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
                 Friend card=mFriendList.get(position);
-                Log.i("gongpengming","选择的id是:"+card.getUserId());
                 Intent intent=new Intent();
                 intent.putExtra("card",card);
                 SelectCardActivity.this.setResult(RESULT_OK,intent);

+ 21 - 4
WeiChat/src/main/java/com/sk/weichat/ui/tool/SingleImagePreviewActivity.java

@@ -5,7 +5,9 @@ import android.net.Uri;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
+import android.view.MotionEvent;
 import android.view.View;
+import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.ProgressBar;
 import android.widget.TextView;
@@ -31,7 +33,7 @@ import uk.co.senab.photoview.PhotoViewAttacher;
 public class SingleImagePreviewActivity extends ActionBackActivity {
 
 	private String mImageUri;
-
+	private FrameLayout imageFl;
 	private ImageView mImageView;
 	private ProgressBar mProgressBar;
 	@SuppressWarnings("unused")
@@ -51,7 +53,7 @@ public class SingleImagePreviewActivity extends ActionBackActivity {
 
 	private void initView() {
 		mImageView = (ImageView) findViewById(R.id.image_view);
-
+		imageFl= (FrameLayout) findViewById(R.id.image_fl);
 		mProgressBar = (ProgressBar) findViewById(R.id.progress_bar);
 		mProgressTextTv = (TextView) findViewById(R.id.progress_text_tv);
 
@@ -87,13 +89,13 @@ public class SingleImagePreviewActivity extends ActionBackActivity {
 			ImageLoader.getInstance().displayImage(mImageUri, mImageView, mImageLoadingListener);
 		} else {
 			ImageLoader.getInstance().displayImage(mImageUri, mImageView, mImageLoadingListener);
-//			mAttacher=new PhotoViewAttacher(mImageView);
-//			mAttacher.update();
+
 		}
 
 		mImageView.setOnClickListener(new View.OnClickListener() {
 			@Override
 			public void onClick(View v) {
+//				Log.i("gongpengmingIMAGE","setOnClickListener");
 				finish();
 				overridePendingTransition(0, R.anim.alpha_scale_out);
 			}
@@ -102,12 +104,14 @@ public class SingleImagePreviewActivity extends ActionBackActivity {
 
 	@Override
 	public void onBackPressed() {
+		Log.i("gongpengmingIMAGE","onBackPressed");
 		finish();
 		overridePendingTransition(0, R.anim.alpha_scale_out);
 	}
 
 	@Override
 	protected boolean onHomeAsUp() {
+		Log.i("gongpengmingIMAGE","onBackPressed");
 		finish();
 		overridePendingTransition(0, R.anim.alpha_scale_out);
 		return true;
@@ -129,6 +133,19 @@ public class SingleImagePreviewActivity extends ActionBackActivity {
 			mProgressBar.setVisibility(View.GONE);
 			mAttacher=new PhotoViewAttacher((ImageView) arg1);
 			mAttacher.update();
+
+			mAttacher.setOnPhotoTapListener(new PhotoViewAttacher.OnPhotoTapListener() {
+				@Override
+				public void onPhotoTap(View view, float x, float y) {
+				 	finish();
+					overridePendingTransition(0, R.anim.alpha_scale_out);
+				}
+
+				@Override
+				public void onOutsidePhotoTap() {
+
+				}
+			});
 		}
 
 		@Override

+ 1 - 2
WeiChat/src/main/java/com/sk/weichat/view/ChatContentView.java

@@ -177,7 +177,7 @@ public class ChatContentView extends PullDownListView implements OnMediaStateCha
         mChatContentAdapter = new ChatContentAdapter();
                 setAdapter(mChatContentAdapter);
         mChatContentAdapter.notifyDataSetInvalidated();
-        Log.i("gongpengming",mChatMessages.size()+"zhangdu");
+
     }
 
     /**
@@ -525,7 +525,6 @@ public class ChatContentView extends PullDownListView implements OnMediaStateCha
                     AvatarHelper.getInstance().displayAvatar(mLoginUserId, contentViewHolder.chat_head_iv, true);
                 }
                 if (viewType==VIEW_FROM_ME_CARD){
-                    Log.i("gongpengmingIV","进入名片userId="+message.getContent());
                     CardViewHolder imageViewHolder= (CardViewHolder) contentViewHolder;
                     AvatarHelper.getInstance().displayAvatar(message.getCardId(), imageViewHolder.chat_warp_head, true);
                 }

+ 1 - 0
WeiChat/src/main/res/layout/activity_single_image_preview.xml

@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
+    android:id="@+id/image_fl"
     android:layout_height="match_parent"
     android:background="@color/black" >