Skip to content

Commit ce9e37e

Browse files
committed
夜间模式图片适配问题
解决Web登录错误问题:由于测试的时候cookie写了固定值
1 parent c081ce7 commit ce9e37e

31 files changed

+338
-234
lines changed

app/build.gradle

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ android {
8080

8181
// 批量渠道包值替换
8282
productFlavors.all { flavor ->
83-
flavor.manifestPlaceholders = [UMENG_CHANNEL: name,BUGLY_CHANNEL:name]
83+
flavor.manifestPlaceholders = [UMENG_CHANNEL: name, BUGLY_CHANNEL: name]
8484
}
8585
}
8686

@@ -94,7 +94,8 @@ dependencies {
9494
compile "com.android.support:design:${rootProject.ext.supportVersion}"
9595
compile "com.android.support:cardview-v7:${rootProject.ext.supportVersion}"
9696
compile 'com.android.support:multidex:1.0.1'
97-
compile project(':sdk')
97+
debugCompile project(path: ':sdk', configuration: 'debug')
98+
releaseCompile project(path: ':sdk', configuration: 'release')
9899
compile 'com.michaelpardo:activeandroid:3.1.0-SNAPSHOT'
99100
compile 'com.jakewharton:butterknife:8.8.1'
100101
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
@@ -124,6 +125,7 @@ dependencies {
124125
compile 'skin.support:skin-support-design:1.2.5'
125126

126127
compile 'com.kyleduo.switchbutton:library:1.4.6'
128+
compile 'com.google.code.gson:gson:2.8.0'
127129
}
128130

129131
// 热更新

app/src/main/AndroidManifest.xml

Lines changed: 54 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
xmlns:tools="http://schemas.android.com/tools"
43
package="com.rae.cnblogs">
54

65

@@ -27,36 +26,30 @@
2726
android:name=".activity.LauncherActivity"
2827
android:screenOrientation="portrait"
2928
android:theme="@style/AppTheme.NoActionBar.FullScreen">
30-
<!-- <intent-filter>
29+
<intent-filter>
3130
<action android:name="android.intent.action.MAIN"/>
3231

3332
<category android:name="android.intent.category.LAUNCHER"/>
34-
</intent-filter>-->
33+
</intent-filter>
3534
</activity>
3635

3736
<!--主界面-->
3837
<activity
3938
android:name=".activity.MainActivity"
4039
android:screenOrientation="portrait"
40+
android:theme="@style/AppTheme.Dark"/>
41+
42+
<activity
43+
android:name=".activity.TestActivity"
44+
android:label="博客园测试"
45+
android:screenOrientation="portrait"
4146
android:theme="@style/AppTheme.Dark">
42-
<intent-filter>
47+
<!-- <intent-filter>
4348
<action android:name="android.intent.action.MAIN"/>
4449
<category android:name="android.intent.category.LAUNCHER"/>
45-
</intent-filter>
50+
</intent-filter>-->
4651
</activity>
4752

48-
<!-- <activity
49-
android:name=".activity.TestActivity"
50-
android:label="博客园测试"
51-
android:screenOrientation="portrait"
52-
android:theme="@style/AppTheme.Dark">
53-
<intent-filter>
54-
<action android:name="android.intent.action.MAIN"/>
55-
56-
<category android:name="android.intent.category.LAUNCHER"/>
57-
</intent-filter>
58-
</activity>-->
59-
6053
<!--博文-->
6154
<activity
6255
android:name=".activity.BlogContentActivity"
@@ -66,11 +59,14 @@
6659
<activity
6760
android:name=".activity.LoginActivity"
6861
android:launchMode="singleTop"
62+
android:screenOrientation="portrait"
6963
android:windowSoftInputMode="stateVisible"/>
7064

7165

7266
<!--网页登录-->
73-
<activity android:name=".activity.WebLoginActivity"/>
67+
<activity
68+
android:name=".activity.WebLoginActivity"
69+
android:screenOrientation="portrait"/>
7470

7571
<!--网页-->
7672
<activity
@@ -82,25 +78,48 @@
8278
android:theme="@style/AppTheme.Translucent"/>
8379

8480
<!--博主-->
85-
<activity android:name=".activity.BloggerActivity"/>
81+
<activity
82+
android:name=".activity.BloggerActivity"
83+
android:screenOrientation="portrait"/>
8684
<!--关注、粉丝-->
87-
<activity android:name=".activity.FriendsActivity"/>
85+
<activity
86+
android:name=".activity.FriendsActivity"
87+
android:screenOrientation="portrait"/>
8888
<!--分类管理-->
8989
<activity
9090
android:name=".activity.CategoryActivity"
9191
android:label="@string/title_category"
92-
android:launchMode="singleTop"/>
92+
android:launchMode="singleTop"
93+
android:screenOrientation="portrait"/>
9394

9495
<activity
9596
android:name=".activity.FavoritesActivity"
9697
android:label="@string/my_favorites"
97-
android:launchMode="singleTop"/>
98+
android:launchMode="singleTop"
99+
android:screenOrientation="portrait"/>
98100

99101
<activity
100102
android:name=".activity.SettingActivity"
101103
android:label="@string/setting"
102-
android:launchMode="singleTop"/>
104+
android:launchMode="singleTop"
105+
android:screenOrientation="portrait"/>
106+
107+
<activity
108+
android:name=".activity.FeedbackActivity"
109+
android:label="@string/feedback"
110+
android:launchMode="singleTop"
111+
android:screenOrientation="portrait"
112+
android:windowSoftInputMode="stateVisible"/>
113+
114+
<activity
115+
android:name=".activity.SearchActivity"
116+
android:screenOrientation="portrait"
117+
android:windowSoftInputMode="stateVisible"/>
103118

119+
<activity
120+
android:name=".activity.SystemMessageActivity"
121+
android:label="@string/system_message"
122+
android:screenOrientation="portrait"/>
104123

105124
<service
106125
android:name=".service.CnblogsService"
@@ -174,21 +193,6 @@
174193
android:resource="@xml/lc_fileprovider_path"/>
175194
</provider>
176195

177-
<activity
178-
android:name=".activity.FeedbackActivity"
179-
android:label="@string/feedback"
180-
android:launchMode="singleTop"
181-
android:windowSoftInputMode="stateHidden"/>
182-
183-
<activity
184-
android:name=".activity.SearchActivity"
185-
android:windowSoftInputMode="stateVisible"/>
186-
187-
<activity
188-
android:name=".activity.SystemMessageActivity"
189-
android:label="@string/system_message"
190-
android:screenOrientation="portrait"/>
191-
192196

193197
<meta-data
194198
android:name="UMENG_APPKEY"
@@ -198,19 +202,18 @@
198202
android:value="${UMENG_CHANNEL}"/>
199203

200204
<!--开始-快速开发需要移除下面的多进程-->
201-
<service
202-
android:name="com.squareup.leakcanary.internal.HeapAnalyzerService"
203-
android:enabled="false"
204-
tools:remove="process"/>
205-
<service
206-
android:name="com.tencent.tinker.lib.service.TinkerPatchService"
207-
android:exported="false"
208-
tools:remove="process"/>
209-
<service
210-
android:name="com.tencent.tinker.lib.service.TinkerPatchService$InnerService"
211-
android:exported="false"
212-
tools:remove="process"/>
213-
205+
<!-- <service
206+
android:name="com.squareup.leakcanary.internal.HeapAnalyzerService"
207+
android:enabled="false"
208+
tools:remove="process"/>
209+
<service
210+
android:name="com.tencent.tinker.lib.service.TinkerPatchService"
211+
android:exported="false"
212+
tools:remove="process"/>
213+
<service
214+
android:name="com.tencent.tinker.lib.service.TinkerPatchService$InnerService"
215+
android:exported="false"
216+
tools:remove="process"/>-->
214217
<!--结束-快速开发需要移除下面的多进程-->
215218

216219
</application>

app/src/main/assets/css/bootstrap.css.map

Lines changed: 0 additions & 1 deletion
This file was deleted.

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@
1010
import com.rae.cnblogs.sdk.db.DbCnblogs;
1111
import com.rae.cnblogs.sdk.db.DbFactory;
1212
import com.rae.swift.session.SessionManager;
13+
import com.tencent.bugly.Bugly;
1314
import com.tencent.tinker.loader.app.TinkerApplication;
1415
import com.tencent.tinker.loader.shareutil.ShareConstants;
15-
import com.umeng.analytics.MobclickAgent;
1616
import com.umeng.socialize.PlatformConfig;
1717
import com.umeng.socialize.UMShareAPI;
1818

@@ -36,12 +36,11 @@ public void onCreate() {
3636
// 级别较高的初始化操作
3737
DbCnblogs.init(getApplication());
3838
// 日志上报
39-
// Bugly.init(getApplication(), BuildConfig.BUGLY_APP_ID, BuildConfig.DEBUG);
39+
Bugly.init(getApplication(), BuildConfig.BUGLY_APP_ID, BuildConfig.DEBUG);
4040
// if (!LeakCanary.isInAnalyzerProcess(this)) {
4141
// LeakCanary.install(this);
4242
// }
4343

44-
MobclickAgent.setDebugMode(true);
4544

4645
// LeanCloud用户反馈初始化,要在主线程总
4746
AVOSCloud.initialize(getApplication(), BuildConfig.LEAN_CLOUD_APP_ID, BuildConfig.LEAN_CLOUD_APP_KEY);
@@ -50,6 +49,7 @@ public void onCreate() {
5049
// 加载皮肤
5150
SkinCompatManager.withoutActivity(getApplication()).loadSkin();
5251
SkinCompatManager.getInstance()
52+
.addHookInflater(new ThemeCompat.CnblogsThemeHookInflater())
5353
.addInflater(new CnblogsLayoutInflater())
5454
.addInflater(new SkinMaterialViewInflater());
5555

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,23 @@
55
import android.content.res.Resources;
66
import android.graphics.drawable.Drawable;
77
import android.os.Build;
8+
import android.support.annotation.NonNull;
89
import android.text.TextUtils;
10+
import android.util.AttributeSet;
11+
import android.util.Log;
12+
import android.view.View;
913
import android.view.Window;
1014

1115
import com.rae.cnblogs.message.ThemeChangedEvent;
16+
import com.rae.cnblogs.widget.RaeSkinImageView;
1217

1318
import org.greenrobot.eventbus.EventBus;
1419

1520
import java.lang.reflect.Field;
1621
import java.lang.reflect.Method;
1722

1823
import skin.support.SkinCompatManager;
24+
import skin.support.app.SkinLayoutInflater;
1925

2026
/**
2127
* 主题资源扩展类
@@ -25,6 +31,17 @@ public final class ThemeCompat {
2531

2632
public static String currentSkinName;
2733

34+
public static class CnblogsThemeHookInflater implements SkinLayoutInflater {
35+
@Override
36+
public View createView(@NonNull Context context, String name, @NonNull AttributeSet attributeSet) {
37+
Log.i("rae", "addHookInflater创建:" + name);
38+
if (TextUtils.equals("ImageView", name)) {
39+
return new RaeSkinImageView(context, attributeSet);
40+
}
41+
return null;
42+
}
43+
}
44+
2845

2946
private static int getResourceId(Context context, String name, String type) {
3047
Resources resources = context.getResources();

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

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import com.avos.avoscloud.feedback.FeedbackThread;
4848
import com.avos.avoscloud.feedback.FeedbackThread.SyncCallback;
4949
import com.avos.avoscloud.feedback.Resources;
50+
import com.rae.cnblogs.R;
5051
import com.rae.cnblogs.sdk.UserProvider;
5152
import com.rae.cnblogs.sdk.bean.UserInfoBean;
5253

@@ -65,6 +66,7 @@
6566
import io.reactivex.disposables.Disposable;
6667
import io.reactivex.functions.Consumer;
6768
import io.reactivex.schedulers.Schedulers;
69+
import skin.support.content.res.SkinCompatResources;
6870

6971
public class FeedbackActivity extends SwipeBackBaseActivity {
7072

@@ -112,6 +114,7 @@ public void onCommentsFetch(List<Comment> comments, AVException e) {
112114

113115
};
114116

117+
115118
sendButton.setOnClickListener(new OnClickListener() {
116119

117120
@Override
@@ -320,15 +323,19 @@ public void afterTextChanged(Editable s) {
320323

321324
contact = (EditText) findViewById(Resources.id.avoscloud_feedback_contact(this));
322325

326+
contact.clearFocus();
327+
feedbackInput.requestFocus();
328+
323329
if (agent.isContactEnabled()) {
324330

325331
// 设置默认的联系方式
326332
if (TextUtils.isEmpty(thread.getContact()) && UserProvider.getInstance().isLogin()) {
327333
UserInfoBean info = UserProvider.getInstance().getLoginUserInfo();
328-
thread.setContact(info.getBlogApp() + "_" + info.getDisplayName());
334+
thread.setContact(info.getBlogApp() + "@" + info.getDisplayName());
329335
}
330336
// contact.setVisibility(TextUtils.isEmpty(thread.getContact()) ? View.VISIBLE : View.GONE);
331337
contact.setText(thread.getContact());
338+
contact.setSelection(contact.length());
332339
contact.addTextChangedListener(new TextWatcher() {
333340

334341
@Override
@@ -342,7 +349,7 @@ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
342349
@Override
343350
public void onTextChanged(CharSequence s, int start, int before, int count) {
344351
if (TextUtils.isEmpty(s) && UserProvider.getInstance().isLogin()) {
345-
s = UserProvider.getInstance().getLoginUserInfo().getBlogApp() + "_" + UserProvider.getInstance().getLoginUserInfo().getDisplayName();
352+
s = UserProvider.getInstance().getLoginUserInfo().getBlogApp() + "@" + UserProvider.getInstance().getLoginUserInfo().getDisplayName();
346353
}
347354

348355
thread.setContact(s.toString());
@@ -356,7 +363,7 @@ public void onTextChanged(CharSequence s, int start, int before, int count) {
356363
thread.sync(syncCallback);
357364

358365
// 定时刷新
359-
mSubscribe = Observable.interval(5000, TimeUnit.MILLISECONDS)
366+
mSubscribe = Observable.interval(3000, TimeUnit.MILLISECONDS)
360367
.subscribeOn(Schedulers.newThread())
361368
.observeOn(AndroidSchedulers.mainThread())
362369
.subscribe(new Consumer<Long>() {
@@ -576,6 +583,9 @@ public View getView(int position, View convertView, ViewGroup parent) {
576583
} else {
577584
holder = (ViewHolder) convertView.getTag();
578585
}
586+
587+
holder.content.setTextColor(SkinCompatResources.getInstance().getColor(R.color.ph2));
588+
579589
final Comment comment = (Comment) getItem(position);
580590
if (comment.getAttachment() != null && comment.getAttachment().getUrl() != null) {
581591
holder.content.setVisibility(View.GONE);

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.rae.cnblogs.AppRoute;
1010
import com.rae.cnblogs.R;
1111
import com.rae.cnblogs.RaeImageLoader;
12+
import com.rae.cnblogs.ThemeCompat;
1213
import com.rae.cnblogs.presenter.CnblogsPresenterFactory;
1314
import com.rae.cnblogs.presenter.ILauncherPresenter;
1415
import com.rae.cnblogs.sdk.bean.BlogType;
@@ -110,8 +111,10 @@ public void onJumpToBlog(String id) {
110111

111112
@Override
112113
public void onNormalImage() {
113-
mDisplayView.setImageResource(R.drawable.launcher_background);
114-
// mDisplayView.startAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
114+
// 加载默认
115+
if (!ThemeCompat.isNight()) {
116+
mDisplayView.setImageResource(R.drawable.launcher_background);
117+
}
115118
}
116119

117120
@OnClick(R.id.img_launcher_display)

0 commit comments

Comments
 (0)