Skip to content

Commit 780f75c

Browse files
committed
修复网页登录不成功问题
修复PlaceHolder显示问题
1 parent 3b62b41 commit 780f75c

36 files changed

+397
-153
lines changed

readme.md README.md

-7
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,6 @@
22

33
非官方客户端,目前版本尚未发布。有兴趣的可以fork提交你的代码哦,有任何提议或者想法也可以提提issue。
44

5-
**导入项目**
6-
7-
- `git clone 'https://git.oschina.net/rae/android-rae-core.git'`
8-
- `git checkout dev`
9-
- 把lib 目录导入到当前项目中
10-
- 最后在sdk目录下的`build.gradle` 中将下面的:` compile 'com.rae.core:lib:1.0.0'` 改成`compile project(':lib')`
11-
125

136
<img src="http://dev.timeplay.cn/cnblogs/app/screenshots/img_login.jpg" width="720" height="1280" alt="登录">
147
<img src="http://dev.timeplay.cn/cnblogs/app/screenshots/img_01.jpg" width="720" height="1280" alt="首页">

TodoList.md

-15
This file was deleted.

_config.yml

-1
This file was deleted.

app/src/main/AndroidManifest.xml

+11-11
Original file line numberDiff line numberDiff line change
@@ -39,17 +39,17 @@
3939
android:screenOrientation="portrait"
4040
android:theme="@style/AppTheme.Dark"/>
4141

42-
<!-- <activity
43-
android:name=".activity.TestActivity"
44-
android:label="博客园测试"
45-
android:screenOrientation="portrait"
46-
android:theme="@style/AppTheme.Dark">
47-
<intent-filter>
48-
<action android:name="android.intent.action.MAIN"/>
49-
50-
<category android:name="android.intent.category.LAUNCHER"/>
51-
</intent-filter>
52-
</activity>-->
42+
<!-- <activity
43+
android:name=".activity.TestActivity"
44+
android:label="博客园测试"
45+
android:screenOrientation="portrait"
46+
android:theme="@style/AppTheme.Dark">
47+
<intent-filter>
48+
<action android:name="android.intent.action.MAIN"/>
49+
50+
<category android:name="android.intent.category.LAUNCHER"/>
51+
</intent-filter>
52+
</activity>-->
5353

5454
<!--博文-->
5555
<activity

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

+17
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ public final class AppRoute {
4040
public static final int REQ_CODE_CATEGORY = 102;
4141
// 收藏
4242
public static final int REQ_CODE_FAVORITES = 103;
43+
// 博主
44+
public static final int REQ_CODE_BLOGGER = 104;
4345

4446
private static void startActivity(Context context, Intent intent) {
4547
context.startActivity(intent);
@@ -188,6 +190,21 @@ public static void jumpToBlogger(Context context, String blogApp) {
188190
startActivity(context, intent);
189191
}
190192

193+
/**
194+
* 博主界面
195+
*
196+
* @param blogApp 博客APP
197+
*/
198+
public static void jumpToBlogger(Activity context, String blogApp) {
199+
if (TextUtils.isEmpty(blogApp)) {
200+
AppUI.toast(context, "博主信息为空!");
201+
return;
202+
}
203+
Intent intent = new Intent(context, BloggerActivity.class);
204+
intent.putExtra("blogApp", blogApp);
205+
startActivityForResult(context, intent, REQ_CODE_BLOGGER);
206+
}
207+
191208

192209
/**
193210
* 分类管理

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

+1
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ public void onFollowFailed(String msg) {
206206
public void onFollowSuccess() {
207207
AppUI.dismiss();
208208
mFollowView.setText(mBloggerPresenter.isFollowed() ? R.string.cancel_follow : R.string.following);
209+
setResult(RESULT_OK);
209210
}
210211

211212
@Override

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

+19-12
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.rae.cnblogs.activity;
22

3+
import android.content.Intent;
34
import android.os.Bundle;
45
import android.support.annotation.Nullable;
56
import android.support.v7.widget.Toolbar;
67
import android.text.TextUtils;
7-
import android.util.Log;
88
import android.view.View;
99
import android.widget.TextView;
1010

@@ -92,7 +92,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
9292
mAdapter.setOnItemClickListener(new BaseItemAdapter.onItemClickListener<UserInfoBean>() {
9393
@Override
9494
public void onItemClick(UserInfoBean item) {
95-
AppRoute.jumpToBlogger(getContext(), item.getBlogApp());
95+
AppRoute.jumpToBlogger(FriendsActivity.this, item.getBlogApp());
9696
}
9797
});
9898
mRecyclerView.setLoadingMoreEnabled(true);
@@ -121,11 +121,6 @@ public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header
121121
}
122122
});
123123

124-
}
125-
126-
@Override
127-
protected void onResume() {
128-
super.onResume();
129124
start();
130125
}
131126

@@ -184,20 +179,32 @@ public void onLoadFriends(List<UserInfoBean> data) {
184179
}
185180
return;
186181
}
187-
188182
if (mPage <= 1) {
189183
mDataList.clear();
190-
// mDataList.addAll(data);
191184
}
192-
// else {
193-
// mDataList.removeAll(data);
194185
mDataList.addAll(data);
195-
// }
196186

197187
mAdapter.invalidate(mDataList);
198188
mAdapter.notifyDataSetChanged();
199189
mRecyclerView.loadMoreComplete();
200190
mPage++;
191+
192+
if (mPage <= 1) {
193+
mRecyclerView.postDelayed(new Runnable() {
194+
@Override
195+
public void run() {
196+
mRecyclerView.scrollToPosition(0);
197+
}
198+
}, 1000);
199+
}
200+
}
201+
202+
@Override
203+
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
204+
super.onActivityResult(requestCode, resultCode, data);
205+
if (resultCode == RESULT_OK && requestCode == AppRoute.REQ_CODE_BLOGGER) {
206+
start();
207+
}
201208
}
202209

203210
/**

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

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import android.os.Bundle;
44
import android.support.annotation.Nullable;
55
import android.text.TextUtils;
6-
import android.view.animation.AnimationUtils;
76
import android.widget.ImageView;
87
import android.widget.TextView;
98

@@ -64,6 +63,7 @@ private void showImage(String url) {
6463
@Override
6564
public void onLoadImage(String name, String url) {
6665
if (TextUtils.isEmpty(url)) {
66+
onNormalImage();
6767
return;
6868
}
6969
mNameView.setText(name);
@@ -87,7 +87,7 @@ public void onJumpToBlog(String id) {
8787
@Override
8888
public void onNormalImage() {
8989
mDisplayView.setImageResource(R.drawable.launcher_background);
90-
mDisplayView.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
90+
// mDisplayView.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
9191
}
9292

9393
@OnClick(R.id.img_launcher_display)

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

+19-3
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import com.rae.cnblogs.message.TabEvent;
3737
import com.rae.cnblogs.sdk.ApiDefaultObserver;
3838
import com.rae.cnblogs.sdk.CnblogsApiFactory;
39+
import com.rae.cnblogs.sdk.UserProvider;
3940
import com.rae.cnblogs.sdk.bean.BlogType;
4041
import com.rae.cnblogs.sdk.bean.CategoryBean;
4142
import com.rae.cnblogs.sdk.bean.VersionInfo;
@@ -85,7 +86,6 @@ public void onServiceDisconnected(ComponentName name) {
8586
};
8687
// 绑定服务
8788
bindService(new Intent(this, CnblogsService.class), mServiceConnection, BIND_AUTO_CREATE);
88-
8989
mFragmentAdapter = new RaeFragmentAdapter(getSupportFragmentManager());
9090
CategoryBean kb = new CategoryBean();
9191
kb.setType("kb");
@@ -153,6 +153,8 @@ protected void accept(VersionInfo versionInfo) {
153153

154154
// 意见反馈的回复
155155
checkFeedbackMessage();
156+
157+
// 请求权限
156158
requestPermissions();
157159
}
158160

@@ -193,7 +195,20 @@ public void onClick(IAppDialog dialog, int buttonType) {
193195
private void requestPermissions() {
194196
// 检查权限
195197
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
196-
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 100);
198+
final HintCardDialog dialog = new HintCardDialog(this);
199+
dialog.setTitle(getString(R.string.title_request_permissions));
200+
dialog.setMessage(getString(R.string.permission_request_message));
201+
dialog.setEnSureText(getString(R.string.allow));
202+
dialog.showCloseButton();
203+
dialog.setOnEnSureListener(new IAppDialogClickListener() {
204+
@Override
205+
public void onClick(IAppDialog dialog, int buttonType) {
206+
dialog.dismiss();
207+
ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, 100);
208+
}
209+
});
210+
211+
dialog.show();
197212
}
198213
}
199214

@@ -240,8 +255,9 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
240255
if (requestCode == 100 && grantResults.length > 0 && grantResults[0] != PackageManager.PERMISSION_GRANTED) {
241256
// 用户拒绝授权
242257
HintCardDialog dialog = new HintCardDialog(this);
258+
dialog.setTitle(getString(R.string.title_request_permissions));
243259
dialog.setMessage(getString(R.string.permission_tips_message));
244-
dialog.setEnSureText(getString(R.string.premission_granted));
260+
dialog.setEnSureText(getString(R.string.permission_granted));
245261
dialog.setOnEnSureListener(new IAppDialogClickListener() {
246262
@Override
247263
public void onClick(IAppDialog dialog, int buttonType) {

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

+11-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
import android.view.View;
77

88
import com.rae.cnblogs.AppRoute;
9+
import com.rae.cnblogs.AppUI;
910
import com.rae.cnblogs.R;
11+
import com.rae.cnblogs.sdk.UserProvider;
1012

1113
/**
1214
* TEST ACTIVITY
@@ -18,7 +20,7 @@ public class TestActivity extends BaseActivity {
1820
protected void onCreate(@Nullable Bundle savedInstanceState) {
1921
super.onCreate(savedInstanceState);
2022
setContentView(R.layout.activity_test);
21-
AppRoute.jumpToMain(TestActivity.this);
23+
// AppRoute.jumpToMain(TestActivity.this);
2224
// final HintCardDialog dialog = new HintCardDialog(this);
2325
// dialog.setTitle("ABC");
2426
// dialog.setMessage("呵呵");
@@ -40,6 +42,14 @@ public void onClick(View v) {
4042
@Override
4143
public void onClick(View v) {
4244
// dialog.show();
45+
AppRoute.jumpToWebLogin(TestActivity.this);
46+
}
47+
});
48+
findViewById(R.id.btn_islogin).setOnClickListener(new View.OnClickListener() {
49+
@Override
50+
public void onClick(View v) {
51+
boolean login = UserProvider.getInstance().isLogin();
52+
AppUI.toastInCenter(getContext(), "是否登录:" + login);
4353
}
4454
});
4555
}

app/src/main/java/com/rae/cnblogs/fragment/BlogListFragment.java

+15-11
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
import android.support.annotation.Nullable;
55
import android.support.v7.widget.LinearLayoutManager;
66
import android.view.View;
7-
import android.view.ViewGroup;
8-
import android.widget.FrameLayout;
97

108
import com.jcodecraeer.xrecyclerview.XRecyclerView;
119
import com.rae.cnblogs.AppMobclickAgent;
@@ -63,7 +61,8 @@ public static BlogListFragment newInstance(int position, CategoryBean category,
6361

6462
protected IBlogListPresenter mBlogListPresenter;
6563
protected BlogListItemAdapter mItemAdapter;
66-
private PlaceholderView mPlaceholderView;
64+
@BindView(R.id.blog_list_placeholder)
65+
PlaceholderView mPlaceholderView;
6766

6867
@Override
6968
protected int getLayoutId() {
@@ -73,14 +72,6 @@ protected int getLayoutId() {
7372
@Override
7473
public void onCreate(@Nullable Bundle savedInstanceState) {
7574
super.onCreate(savedInstanceState);
76-
mPlaceholderView = new PlaceholderView(getContext());
77-
mPlaceholderView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
78-
mPlaceholderView.setOnRetryClickListener(new View.OnClickListener() {
79-
@Override
80-
public void onClick(View v) {
81-
mBlogListPresenter.start();
82-
}
83-
});
8475

8576
mCategory = getArguments().getParcelable("category");
8677
mBlogType = BlogType.typeOf(getArguments().getString("type"));
@@ -117,6 +108,15 @@ protected String getTitle() {
117108

118109
@Override
119110
protected void onLoadData() {
111+
112+
mPlaceholderView.setOnRetryClickListener(new View.OnClickListener() {
113+
@Override
114+
public void onClick(View v) {
115+
mItemAdapter.empty();
116+
mBlogListPresenter.start();
117+
}
118+
});
119+
120120
mRecyclerView.setAdapter(mItemAdapter);
121121
mRecyclerView.setLoadingMoreEnabled(false);
122122
mAppLayout.setPtrHandler(new PtrDefaultHandler() {
@@ -146,10 +146,12 @@ public void onLoadMore() {
146146
}
147147

148148
mBlogListPresenter.start();
149+
mPlaceholderView.dismiss();
149150
}
150151

151152
@Override
152153
public void onLoadBlogList(int page, List<BlogBean> data) {
154+
mPlaceholderView.dismiss();
153155
if (Rx.isEmpty(data) && page <= 1) {
154156
mAppLayout.refreshComplete();
155157
return;
@@ -172,8 +174,10 @@ public void onLoadBlogList(int page, List<BlogBean> data) {
172174
@Override
173175
public void onLoadFailed(int page, String msg) {
174176
if (page <= 1) {
177+
mPlaceholderView.retry(msg);
175178
mAppLayout.refreshComplete();
176179
} else {
180+
mPlaceholderView.dismiss();
177181
mRecyclerView.loadMoreComplete();
178182
}
179183
}

0 commit comments

Comments
 (0)