@@ -13,8 +13,8 @@ android {
|
||
| 13 | 13 |
applicationId "ai.pai.client" |
| 14 | 14 |
minSdkVersion MIN_SDK_VERSION as int |
| 15 | 15 |
targetSdkVersion TARGET_SDK_VERSION as int |
| 16 |
- versionCode 1029 |
|
| 17 |
- versionName "1.0.29" |
|
| 16 |
+ versionCode 1030 |
|
| 17 |
+ versionName "1.0.30" |
|
| 18 | 18 |
buildConfigField "boolean","isDevMode","true" |
| 19 | 19 |
manifestPlaceholders = [CHANNEL_NAME: "guanwang"] |
| 20 | 20 |
|
@@ -1,6 +1,7 @@ |
||
| 1 | 1 |
package ai.pai.client.activity; |
| 2 | 2 |
|
| 3 | 3 |
import android.os.Bundle; |
| 4 |
+import android.os.Handler; |
|
| 4 | 5 |
import android.text.Editable; |
| 5 | 6 |
import android.text.TextUtils; |
| 6 | 7 |
import android.text.TextWatcher; |
@@ -25,11 +26,12 @@ public class FeedbackActivity extends BaseActivity implements View.OnClickListen |
||
| 25 | 26 |
|
| 26 | 27 |
private Button sendBtn; |
| 27 | 28 |
private EditText feedbackET; |
| 28 |
- |
|
| 29 |
+ private Handler mHandler; |
|
| 29 | 30 |
@Override |
| 30 | 31 |
protected void onCreate(Bundle savedInstanceState) {
|
| 31 | 32 |
super.onCreate(savedInstanceState); |
| 32 | 33 |
setContentView(R.layout.activity_feedback); |
| 34 |
+ mHandler = new Handler(); |
|
| 33 | 35 |
SystemUtils.setImmerseLayout(this,findViewById(R.id.title_layout)); |
| 34 | 36 |
TextView title = (TextView)findViewById(R.id.title_bar_middle_txt); |
| 35 | 37 |
title.setText(R.string.slide_feedback); |
@@ -57,6 +59,15 @@ public class FeedbackActivity extends BaseActivity implements View.OnClickListen |
||
| 57 | 59 |
} |
| 58 | 60 |
|
| 59 | 61 |
@Override |
| 62 |
+ protected void onDestroy() {
|
|
| 63 |
+ super.onDestroy(); |
|
| 64 |
+ if(mHandler!=null){
|
|
| 65 |
+ mHandler.removeCallbacksAndMessages(null); |
|
| 66 |
+ mHandler = null; |
|
| 67 |
+ } |
|
| 68 |
+ } |
|
| 69 |
+ |
|
| 70 |
+ @Override |
|
| 60 | 71 |
public void onClick(View v) {
|
| 61 | 72 |
switch (v.getId()){
|
| 62 | 73 |
case R.id.title_bar_back_layout: |
@@ -91,6 +102,12 @@ public class FeedbackActivity extends BaseActivity implements View.OnClickListen |
||
| 91 | 102 |
params.put("feedback",feedback);
|
| 92 | 103 |
new HttpPostTask(this,params).executeOnExecutor(ThreadExecutor.getInstance().getExecutor(), UrlContainer.FEEDBACK_URL); |
| 93 | 104 |
ToastUtils.showShortToast(this,R.string.thank_feedback); |
| 94 |
- finish(); |
|
| 105 |
+ mHandler.postDelayed(new Runnable() {
|
|
| 106 |
+ @Override |
|
| 107 |
+ public void run() {
|
|
| 108 |
+ finish(); |
|
| 109 |
+ } |
|
| 110 |
+ },1000); |
|
| 111 |
+ |
|
| 95 | 112 |
} |
| 96 | 113 |
} |
@@ -244,7 +244,7 @@ public class GroupSettingActivity extends BaseActivity implements View.OnClickLi |
||
| 244 | 244 |
groupLockToggleBtn.setChecked(true); |
| 245 | 245 |
groupLockTextView.setText(isLocked ? R.string.group_is_locked : R.string.group_is_unlocked); |
| 246 | 246 |
groupLockHintTextView.setText(isLocked ? R.string.group_locked_hint : R.string.group_unlocked_hint); |
| 247 |
- Toast.makeText(getApplicationContext(), R.string.group_is_locked, Toast.LENGTH_SHORT).show(); |
|
| 247 |
+ ToastUtils.showShortToast(getApplicationContext(), R.string.group_is_locked); |
|
| 248 | 248 |
break; |
| 249 | 249 |
case GroupService.GroupCommand.COMMAND_UNLOCK_GROUP: |
| 250 | 250 |
isLocked = false; |
@@ -254,7 +254,7 @@ public class GroupSettingActivity extends BaseActivity implements View.OnClickLi |
||
| 254 | 254 |
ToastUtils.showShortToast(getApplicationContext(), R.string.group_is_unlocked); |
| 255 | 255 |
break; |
| 256 | 256 |
case GroupService.GroupCommand.COMMAND_QUIT_GROUP: |
| 257 |
- Toast.makeText(getApplicationContext(), R.string.quit_group_success, Toast.LENGTH_SHORT).show(); |
|
| 257 |
+ ToastUtils.showShortToast(getApplicationContext(), R.string.quit_group_success); |
|
| 258 | 258 |
DBService.getInstance(getApplicationContext()).deleteGroupRelated(groupId); |
| 259 | 259 |
setResult(RESULT_OK); |
| 260 | 260 |
finish(); |
@@ -205,7 +205,7 @@ public class GroupService extends Service implements UploadTask.OnPhotoUploadLis |
||
| 205 | 205 |
} |
| 206 | 206 |
return true; |
| 207 | 207 |
}else if(status==402002){
|
| 208 |
- msg = getString(R.string.group_is_locked); |
|
| 208 |
+ msg = getString(R.string.cannot_enter_locked_group); |
|
| 209 | 209 |
return false; |
| 210 | 210 |
} |
| 211 | 211 |
}catch (Exception e){
|
@@ -277,7 +277,7 @@ public class GroupService extends Service implements UploadTask.OnPhotoUploadLis |
||
| 277 | 277 |
groupInfo.groupFrom = group.getInt("group_from");
|
| 278 | 278 |
return true; |
| 279 | 279 |
}else if(status==402002){
|
| 280 |
- msg = getString(R.string.group_is_locked); |
|
| 280 |
+ msg = getString(R.string.cannot_enter_locked_group); |
|
| 281 | 281 |
return false; |
| 282 | 282 |
} |
| 283 | 283 |
}catch (Exception e){
|
@@ -34,7 +34,8 @@ public class ToastUtils {
|
||
| 34 | 34 |
mToast.setGravity(Gravity.BOTTOM, 0, 150); |
| 35 | 35 |
mToast.setView(view); |
| 36 | 36 |
} |
| 37 |
- mHandler.postDelayed(r, 1000);//延迟1秒隐藏toast |
|
| 37 |
+ mHandler.postDelayed(r, 1200);//延迟1秒隐藏toast |
|
| 38 |
+ mToast.setView(view); |
|
| 38 | 39 |
mToast.show(); |
| 39 | 40 |
} |
| 40 | 41 |
|
@@ -50,7 +51,8 @@ public class ToastUtils {
|
||
| 50 | 51 |
mToast.setGravity(Gravity.BOTTOM, 0, 150); |
| 51 | 52 |
mToast.setView(view); |
| 52 | 53 |
} |
| 53 |
- mHandler.postDelayed(r, 1000);//延迟1秒隐藏toast |
|
| 54 |
+ mHandler.postDelayed(r, 1200);//延迟1秒隐藏toast |
|
| 55 |
+ mToast.setView(view); |
|
| 54 | 56 |
mToast.show(); |
| 55 | 57 |
} |
| 56 | 58 |
} |
@@ -53,6 +53,8 @@ |
||
| 53 | 53 |
|
| 54 | 54 |
<string name="group_is_locked">群已锁定</string> |
| 55 | 55 |
|
| 56 |
+ <string name="cannot_enter_locked_group">群已被锁定,无法加入</string> |
|
| 57 |
+ |
|
| 56 | 58 |
<string name="group_lock_fail">群加锁失败</string> |
| 57 | 59 |
|
| 58 | 60 |
<string name="group_locked_hint">加锁群不再允许新成员加入</string> |