Skip to content

Commit e83cce1

Browse files
author
ChenRui
committed
添加闪存消息
1 parent 6203052 commit e83cce1

32 files changed

+1303
-124
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@
4141
android:name=".activity.MainActivity"
4242
android:screenOrientation="portrait"
4343
android:theme="@style/AppTheme.Dark">
44-
<intent-filter>
45-
<action android:name="android.intent.action.MAIN"/>
44+
<!-- <intent-filter>
45+
<action android:name="android.intent.action.MAIN"/>
4646
47-
<category android:name="android.intent.category.LAUNCHER"/>
48-
</intent-filter>
47+
<category android:name="android.intent.category.LAUNCHER"/>
48+
</intent-filter>-->
4949
</activity>
5050

5151
<activity
@@ -154,6 +154,17 @@
154154
android:label="@string/label_moment_detail"
155155
android:screenOrientation="portrait"/>
156156

157+
<activity
158+
android:name=".activity.MomentMessageActivity"
159+
android:label="@string/label_moment_message"
160+
android:screenOrientation="portrait">
161+
<intent-filter>
162+
<action android:name="android.intent.action.MAIN"/>
163+
164+
<category android:name="android.intent.category.LAUNCHER"/>
165+
</intent-filter>
166+
</activity>
167+
157168
<service
158169
android:name=".service.CnblogsService"
159170
android:label="@string/service_name"/>

app/src/main/java/com/rae/cnblogs/AppRoute.java

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import com.rae.cnblogs.activity.LoginActivity;
2020
import com.rae.cnblogs.activity.MainActivity;
2121
import com.rae.cnblogs.activity.MomentDetailActivity;
22+
import com.rae.cnblogs.activity.MomentMessageActivity;
2223
import com.rae.cnblogs.activity.PostMomentActivity;
2324
import com.rae.cnblogs.activity.SearchActivity;
2425
import com.rae.cnblogs.activity.SettingActivity;
@@ -380,6 +381,25 @@ public static void jumpToMomentDetail(Context context, MomentBean data) {
380381
startActivity(context, intent);
381382
}
382383

384+
/**
385+
* 闪存详情
386+
*/
387+
public static void jumpToMomentDetail(Context context, String userAlias, String ingId) {
388+
Intent intent = new Intent(context, MomentDetailActivity.class);
389+
intent.putExtra("ingId", ingId);
390+
intent.putExtra("userId", userAlias);
391+
startActivity(context, intent);
392+
}
393+
394+
395+
/**
396+
* 闪存详情
397+
*/
398+
public static void jumpToMomentMessage(Context context) {
399+
Intent intent = new Intent(context, MomentMessageActivity.class);
400+
startActivity(context, intent);
401+
}
402+
383403
/**
384404
* 跳转到图片选择
385405
*/

app/src/main/java/com/rae/cnblogs/activity/MainActivity.java

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,7 @@
11
package com.rae.cnblogs.activity;
22

33
import android.Manifest;
4-
import android.app.NotificationManager;
54
import android.content.ComponentName;
6-
import android.content.Context;
75
import android.content.Intent;
86
import android.content.ServiceConnection;
97
import android.content.pm.PackageManager;
@@ -20,7 +18,6 @@
2018
import android.widget.TextView;
2119

2220
import com.rae.cnblogs.AppMobclickAgent;
23-
import com.rae.cnblogs.AppRoute;
2421
import com.rae.cnblogs.AppStatusBar;
2522
import com.rae.cnblogs.AppUI;
2623
import com.rae.cnblogs.BuildConfig;
@@ -36,7 +33,6 @@
3633
import com.rae.cnblogs.fragment.HomeFragment;
3734
import com.rae.cnblogs.fragment.MineFragment;
3835
import com.rae.cnblogs.fragment.SNSFragment;
39-
import com.rae.cnblogs.message.PostMomentEvent;
4036
import com.rae.cnblogs.message.TabEvent;
4137
import com.rae.cnblogs.message.ThemeChangedEvent;
4238
import com.rae.cnblogs.sdk.ApiDefaultObserver;
@@ -45,12 +41,10 @@
4541
import com.rae.cnblogs.service.CnblogsService;
4642
import com.rae.cnblogs.service.CnblogsServiceBinder;
4743
import com.rae.cnblogs.service.job.JobEvent;
48-
import com.rae.swift.Rx;
4944
import com.rae.swift.app.RaeFragmentAdapter;
5045

5146
import org.greenrobot.eventbus.EventBus;
5247
import org.greenrobot.eventbus.Subscribe;
53-
import org.greenrobot.eventbus.ThreadMode;
5448

5549
import butterknife.BindView;
5650

@@ -268,55 +262,6 @@ public void onEvent(JobEvent event) {
268262
mCnblogsServiceBinder.getJobScheduler().start(event.getAction());
269263
}
270264

271-
@Subscribe(threadMode = ThreadMode.MAIN)
272-
public void onEvent(final PostMomentEvent event) {
273265

274-
// 清除通知
275-
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
276-
if (nm != null) {
277-
nm.cancel(event.getNotificationId());
278-
}
279-
280-
HintCardDialog dialog = new HintCardDialog(this);
281-
dialog.setEnSureText("立即查看");
282-
dialog.showCloseButton();
283-
284-
// 闪存事件
285-
if (event.getIsSuccess()) {
286-
// 刷新
287-
dialog.setTitle("发布闪存闪存");
288-
dialog.setMessage("是否立即查看?");
289-
dialog.setOnEnSureListener(new IAppDialogClickListener() {
290-
@Override
291-
public void onClick(IAppDialog dialog, int buttonType) {
292-
dialog.dismiss();
293-
// 切换到动态TAB
294-
mViewPager.setCurrentItem(1);
295-
if (!Rx.isEmpty(getSupportFragmentManager().getFragments())) {
296-
try {
297-
SNSFragment fragment = (SNSFragment) getSupportFragmentManager().getFragments().get(mViewPager.getCurrentItem());
298-
fragment.onTabEvent(new TabEvent(1));
299-
} catch (Exception e) {
300-
e.printStackTrace();
301-
}
302-
}
303-
}
304-
});
305-
306-
} else {
307-
dialog.setTitle("发布闪存失败");
308-
dialog.setMessage(event.getMessage());
309-
dialog.setOnEnSureListener(new IAppDialogClickListener() {
310-
@Override
311-
public void onClick(IAppDialog dialog, int buttonType) {
312-
dialog.dismiss();
313-
// 跳转到闪存发布
314-
AppRoute.jumpToPostMoment(getContext(), event.getMomentMetaData());
315-
}
316-
});
317-
}
318-
319-
dialog.show();
320-
}
321266

322267
}

app/src/main/java/com/rae/cnblogs/activity/MomentDetailActivity.java

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,22 @@
22

33
import android.os.Bundle;
44
import android.support.annotation.Nullable;
5+
import android.text.TextUtils;
56
import android.view.View;
67

8+
import com.rae.cnblogs.AppRoute;
79
import com.rae.cnblogs.R;
10+
import com.rae.cnblogs.RxObservable;
811
import com.rae.cnblogs.dialog.impl.ShareDialog;
912
import com.rae.cnblogs.fragment.MomentDetailFragment;
13+
import com.rae.cnblogs.sdk.ApiDefaultObserver;
14+
import com.rae.cnblogs.sdk.CnblogsApiFactory;
15+
import com.rae.cnblogs.sdk.UserProvider;
16+
import com.rae.cnblogs.sdk.api.IMomentApi;
1017
import com.rae.cnblogs.sdk.bean.MomentBean;
18+
import com.rae.cnblogs.widget.PlaceholderView;
1119

20+
import butterknife.BindView;
1221
import butterknife.OnClick;
1322

1423
/**
@@ -19,16 +28,69 @@ public class MomentDetailActivity extends SwipeBackBaseActivity {
1928

2029
private MomentBean mMomentBean;
2130

31+
@BindView(R.id.placeholder)
32+
PlaceholderView mPlaceholderView;
33+
private String mIngId;
34+
private String mUserId;
35+
2236
@Override
2337
protected void onCreate(@Nullable Bundle savedInstanceState) {
2438
super.onCreate(savedInstanceState);
2539
setContentView(R.layout.activity_moment_detail);
2640
showHomeAsUp();
2741
mMomentBean = getIntent().getParcelableExtra("data");
42+
mIngId = getIntent().getStringExtra("ingId");
43+
mUserId = getIntent().getStringExtra("userId");
44+
if (mMomentBean != null && !TextUtils.isEmpty(mMomentBean.getId())) {
45+
mPlaceholderView.dismiss();
46+
attachFragment();
47+
} else if (!TextUtils.isEmpty(mIngId) && !TextUtils.isEmpty(mUserId)) {
48+
// 根据闪存ID获取详情
49+
loadMomentDetail();
50+
} else {
51+
mPlaceholderView.empty("参数缺失");
52+
}
53+
mPlaceholderView.setOnRetryClickListener(new View.OnClickListener() {
54+
@Override
55+
public void onClick(View v) {
56+
if (UserProvider.getInstance().isLogin()) {
57+
loadMomentDetail();
58+
} else {
59+
AppRoute.jumpToLogin(v.getContext());
60+
}
61+
}
62+
});
63+
}
64+
65+
private void attachFragment() {
2866
getSupportFragmentManager().beginTransaction()
2967
.add(R.id.fl_content, MomentDetailFragment.newInstance(mMomentBean)).commitNow();
3068
}
3169

70+
private void loadMomentDetail() {
71+
if (!UserProvider.getInstance().isLogin()) {
72+
mPlaceholderView.retry("登录后更精彩");
73+
return;
74+
}
75+
76+
IMomentApi momentApi = CnblogsApiFactory.getInstance(this).getMomentApi();
77+
RxObservable.create(momentApi.getMomentDetail(mUserId, mIngId), "moment")
78+
.subscribe(new ApiDefaultObserver<MomentBean>() {
79+
@Override
80+
protected void onError(String message) {
81+
mPlaceholderView.retry(message);
82+
}
83+
84+
@Override
85+
protected void accept(MomentBean momentBean) {
86+
mMomentBean = momentBean;
87+
attachFragment();
88+
mPlaceholderView.dismiss();
89+
}
90+
});
91+
92+
}
93+
3294

3395
/**
3496
* 分享
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.rae.cnblogs.activity;
2+
3+
import android.os.Bundle;
4+
import android.support.annotation.Nullable;
5+
6+
import com.rae.cnblogs.R;
7+
import com.rae.cnblogs.fragment.MomentMessageFragment;
8+
9+
import butterknife.OnClick;
10+
11+
/**
12+
* 闪存消息
13+
* Created by ChenRui on 2017/11/6 0006 14:21.
14+
*/
15+
public class MomentMessageActivity extends SwipeBackBaseActivity {
16+
private MomentMessageFragment mFragment;
17+
18+
@Override
19+
protected void onCreate(@Nullable Bundle savedInstanceState) {
20+
super.onCreate(savedInstanceState);
21+
setContentView(R.layout.activity_moment_message);
22+
showHomeAsUp();
23+
mFragment = new MomentMessageFragment();
24+
getSupportFragmentManager().beginTransaction()
25+
.add(R.id.content, mFragment)
26+
.commitNow();
27+
}
28+
29+
@OnClick(R.id.title_tool_bar)
30+
public void onToolbarClick() {
31+
mFragment.scrollToTop();
32+
}
33+
}

0 commit comments

Comments
 (0)