Skip to content

Commit fefab28

Browse files
committed
发私信搜索
1 parent 608c35d commit fefab28

23 files changed

Lines changed: 158 additions & 190 deletions

app/src/main/AndroidManifest.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
package="net.coding.program"
4-
android:versionCode="1"
5-
android:versionName="2.0" >
4+
android:versionCode="24"
5+
android:versionName="2.1" >
66

77
<uses-sdk
88
android:minSdkVersion="15"

app/src/main/java/net/coding/program/ImagePagerFragment.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,13 @@ public void onSuccess(int statusCode, Header[] headers, File file) {
219219

220220
if (image instanceof GifImageView) {
221221
File file = getImageLoad().imageLoader.getDiskCache().get(imageUri);
222-
image.setImageURI(Uri.fromFile(file));
222+
223+
// 看umeng有报错,bad file descriptor,可能有些gif有问题
224+
try {
225+
image.setImageURI(Uri.fromFile(file));
226+
} catch (Exception e) {
227+
Global.errorLog(e);
228+
}
223229
}
224230
}
225231
});

app/src/main/java/net/coding/program/common/TextWatcherAt.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,22 +40,26 @@ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
4040
public void onTextChanged(CharSequence s, int start, int before, int count) {
4141
String newEnter = s.toString().substring(start, start + count);
4242
if (newEnter.equals("@")) {
43-
Intent intent;
4443
if (mProjectObject == null) {
45-
intent = new Intent(mContext, UsersListActivity_.class);
46-
intent.putExtra("type", UsersListActivity.Friend.Follow);
47-
intent.putExtra("select", true);
44+
startUserFollowList(mContext, mStartActivity, mResult);
4845
} else {
46+
Intent intent;
4947
intent = new Intent(mContext, MembersSelectActivity_.class);
5048
intent.putExtra("mProjectObject", mProjectObject);
49+
mStartActivity.startActivityForResult(intent, mResult);
5150
}
52-
53-
// 必须考虑是activty还是fragment,所以只能由mStartActivity启动
54-
mStartActivity.startActivityForResult(intent, mResult);
5551
}
5652
}
5753

5854
@Override
5955
public void afterTextChanged(Editable s) {
6056
}
57+
58+
public static void startUserFollowList(Context mContext, StartActivity mStartActivity, int mResult) {
59+
Intent intent;
60+
intent = new Intent(mContext, UsersListActivity_.class);
61+
intent.putExtra("type", UsersListActivity.Friend.Follow);
62+
intent.putExtra("select", true);
63+
mStartActivity.startActivityForResult(intent, mResult);
64+
}
6165
}

app/src/main/java/net/coding/program/common/network/BaseFragment.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,11 +175,19 @@ protected void showErrorMsg(int code, JSONObject json) {
175175
}
176176

177177
protected void showButtomToast(String msg) {
178+
if (!isResumed()) {
179+
return;
180+
}
181+
178182
Toast toast = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT);
179183
toast.show();
180184
}
181185

182186
protected void showMiddleToast(String msg) {
187+
if (!isResumed()) {
188+
return;
189+
}
190+
183191
Toast toast = Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT);
184192
toast.setGravity(Gravity.CENTER, 0, 0);
185193
toast.show();

app/src/main/java/net/coding/program/common/photopick/PhotoPickActivity.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ private void send() {
287287
finish();
288288
}
289289

290+
private static final String RESTORE_FILEURI = "fileUri";
290291
private Uri fileUri;
291292

292293
public void camera() {
@@ -299,6 +300,24 @@ public void camera() {
299300
final int RESULT_PICK = 20;
300301
final int RESULT_CAMERA = 21;
301302

303+
304+
305+
@Override
306+
protected void onRestoreInstanceState(Bundle savedInstanceState) {
307+
super.onRestoreInstanceState(savedInstanceState);
308+
309+
fileUri = savedInstanceState.getParcelable(RESTORE_FILEURI);
310+
}
311+
312+
@Override
313+
protected void onSaveInstanceState(Bundle outState) {
314+
super.onSaveInstanceState(outState);
315+
316+
if (fileUri != null) {
317+
outState.putParcelable(RESTORE_FILEURI, fileUri);
318+
}
319+
}
320+
302321
@Override
303322
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
304323
if (requestCode == RESULT_PICK) {

app/src/main/java/net/coding/program/message/FollowUsersActivity.java

Lines changed: 0 additions & 145 deletions
This file was deleted.

app/src/main/java/net/coding/program/message/UsersListFragment.java

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package net.coding.program.message;
22

33

4+
import android.app.Activity;
45
import android.content.DialogInterface;
56
import android.content.Intent;
67
import android.view.View;
@@ -18,14 +19,20 @@
1819
import net.coding.program.R;
1920
import net.coding.program.common.Global;
2021
import net.coding.program.common.MyImageGetter;
22+
import net.coding.program.common.StartActivity;
23+
import net.coding.program.common.TextWatcherAt;
2124
import net.coding.program.common.Unread;
2225
import net.coding.program.common.UnreadNotify;
2326
import net.coding.program.common.network.RefreshBaseFragment;
2427
import net.coding.program.model.AccountInfo;
2528
import net.coding.program.model.Message;
29+
import net.coding.program.model.UserObject;
30+
import net.coding.program.project.detail.ProjectAttachmentFragment_;
31+
import net.coding.program.user.UsersListActivity;
2632

2733
import org.androidannotations.annotations.AfterViews;
2834
import org.androidannotations.annotations.EFragment;
35+
import org.androidannotations.annotations.OnActivityResult;
2936
import org.androidannotations.annotations.OptionsItem;
3037
import org.androidannotations.annotations.OptionsMenu;
3138
import org.androidannotations.annotations.ViewById;
@@ -37,8 +44,9 @@
3744

3845
@EFragment(R.layout.fragment_users_list)
3946
@OptionsMenu(R.menu.message_users_list)
40-
public class UsersListFragment extends RefreshBaseFragment implements FootUpdate.LoadMore {
47+
public class UsersListFragment extends RefreshBaseFragment implements FootUpdate.LoadMore, StartActivity {
4148

49+
private final int RESULT_SELECT_USER = 100;
4250
@ViewById
4351
ListView listView;
4452

@@ -179,10 +187,20 @@ private void startNotifyListActivity(int type) {
179187

180188
@OptionsItem
181189
void action_add() {
182-
Intent intent = new Intent(getActivity(), FollowUsersActivity_.class);
183-
startActivity(intent);
190+
TextWatcherAt.startUserFollowList(getActivity(), this, RESULT_SELECT_USER);
184191
}
185192

193+
@OnActivityResult(RESULT_SELECT_USER)
194+
void onSelectUser(int resultCode, Intent data) {
195+
if (resultCode == Activity.RESULT_OK) {
196+
UserObject user = (UserObject) data.getSerializableExtra(UsersListActivity.RESULT_EXTRA_USESR);
197+
if (user != null) {
198+
MessageListActivity_.intent(this).mUserObject(user).start();
199+
}
200+
}
201+
}
202+
203+
186204
View.OnClickListener onClickRetry = new View.OnClickListener() {
187205
@Override
188206
public void onClick(View v) {

app/src/main/java/net/coding/program/setting/SettingFragment.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,34 +8,55 @@
88
import android.os.Environment;
99
import android.view.LayoutInflater;
1010
import android.view.View;
11+
import android.widget.CheckBox;
1112
import android.widget.EditText;
1213

1314
import com.tencent.android.tpush.XGPushManager;
1415

1516
import net.coding.program.BaseFragmentActivity;
1617
import net.coding.program.LoginActivity_;
18+
import net.coding.program.MainActivity;
1719
import net.coding.program.R;
1820
import net.coding.program.common.FileUtil;
1921
import net.coding.program.common.network.BaseFragment;
2022
import net.coding.program.model.AccountInfo;
2123

24+
import org.androidannotations.annotations.AfterViews;
2225
import org.androidannotations.annotations.Click;
2326
import org.androidannotations.annotations.EFragment;
27+
import org.androidannotations.annotations.ViewById;
2428

2529
import java.io.File;
2630
import java.util.regex.Pattern;
2731

2832
@EFragment(R.layout.fragment_setting)
2933
public class SettingFragment extends BaseFragment {
3034

35+
@ViewById
36+
CheckBox allNotify;
37+
38+
@AfterViews
39+
void init() {
40+
boolean mLastNotifySetting = AccountInfo.getNeedPush(getActivity());
41+
allNotify.setChecked(mLastNotifySetting);
42+
}
43+
3144
@Click
3245
void accountSetting() {
3346
AccountSetting_.intent(this).start();
3447
}
3548

3649
@Click
3750
void pushSetting() {
38-
NotifySetting_.intent(this).start();
51+
// NotifySetting_.intent(this).start();
52+
allNotify.performClick();
53+
}
54+
55+
@Click
56+
void allNotify() {
57+
AccountInfo.setNeedPush(getActivity(), allNotify.isChecked());
58+
Intent intent = new Intent(MainActivity.BroadcastPushStyle);
59+
getActivity().sendBroadcast(intent);
3960
}
4061

4162
@Click

0 commit comments

Comments
 (0)