Skip to content

Commit 83c9604

Browse files
committed
Global 移动到 common-coding
1 parent 0c46c6a commit 83c9604

66 files changed

Lines changed: 566 additions & 386 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/build.gradle

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,6 @@ kapt {
119119

120120
def AAVersion = '4.3.1'
121121
dependencies {
122-
compile fileTree(include: ['*.jar'], dir: 'libs')
123122
annotationProcessor "org.androidannotations:androidannotations:$AAVersion"
124123
compile "org.androidannotations:androidannotations-api:$AAVersion"
125124
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
@@ -163,7 +162,6 @@ dependencies {
163162
compile 'com.ms-square:etsyblur:0.1.0'
164163
compile 'com.github.lzyzsd:circleprogress:1.1.0@aar'
165164
compile 'it.neokree:MaterialNavigationDrawer:1.3.2'
166-
compile files('libs/BaiduLBS_Android.jar')
167165
compile 'com.prolificinteractive:parallaxpager:2.2.1'
168166
compile 'com.davemorrissey.labs:subsampling-scale-image-view:3.5.0'
169167

@@ -180,9 +178,6 @@ dependencies {
180178
// compile 'com.twotoasters.jazzylistview:library:1.2.1'
181179
compile project(':social_sdk_library_project')
182180
compile 'com.bigkoo:convenientbanner:1.0.8'
183-
compile files('libs/pinyin4j-2.5.0.jar')
184-
compile files('libs/jg_filter_sdk_1.1.jar')
185-
compile files('libs/wup-1.0.0.E-SNAPSHOT.jar')
186181
compile project(':bottom-bar')
187182
compile project(':luban')
188183

@@ -199,7 +194,6 @@ dependencies {
199194
compile 'com.tbruyelle.rxpermissions:rxpermissions:0.9.3@aar'
200195
compile 'org.eclipse.jgit:org.eclipse.jgit:3.7.1.201504261725-r'
201196
compile 'com.orhanobut:logger:1.15'
202-
compile files('libs/Xg_sdk_v2.47_20161026_0936.jar')
203197
compile 'com.github.bmelnychuk:atv:1.2.9'
204198

205199
// 网络请求
@@ -227,7 +221,14 @@ dependencies {
227221
// 常用工具类
228222
compile 'com.blankj:utilcode:1.9.0'
229223

230-
// implementation project(':push-dir:coding-push')
224+
// jar 依赖
225+
compile files('libs/alipaySingle-20170510.jar')
226+
compile files('libs/BaiduLBS_Android.jar')
227+
compile files('libs/jg_filter_sdk_1.1.jar')
228+
compile files('libs/pinyin4j-2.5.0.jar')
229+
compile files('libs/wup-1.0.0.E-SNAPSHOT.jar')
230+
compile files('libs/Xg_sdk_v2.47_20161026_0936.jar')
231+
provided files('../common-coding/libs/android-viewbadger.jar') // 小红点
231232
}
232233

233234

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@
2424
import com.nostra13.universalimageloader.core.ImageLoader;
2525
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
2626
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
27-
import com.tencent.android.tpush.XGPushManager;
2827

2928
import net.coding.program.common.Global;
29+
import net.coding.program.common.GlobalCommon;
3030
import net.coding.program.common.LoginBackground;
3131
import net.coding.program.common.SimpleSHA1;
3232
import net.coding.program.common.guide.GuideActivity;
@@ -354,7 +354,7 @@ protected final void loginFail() {
354354

355355
@Click
356356
protected final void login_2fa() {
357-
Global.start2FAActivity(this);
357+
GlobalCommon.start2FAActivity(this);
358358
}
359359

360360
private void show2FA(boolean show) {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import android.Manifest;
44
import android.content.Context;
5-
import android.content.DialogInterface;
65
import android.content.Intent;
76
import android.content.SharedPreferences;
87
import android.content.pm.PackageInfo;
@@ -25,6 +24,7 @@
2524
import com.tencent.android.tpush.service.XGPushService;
2625

2726
import net.coding.program.common.Global;
27+
import net.coding.program.common.GlobalCommon;
2828
import net.coding.program.common.GlobalVar_;
2929
import net.coding.program.common.LoginBackground;
3030
import net.coding.program.common.Unread;
@@ -103,7 +103,7 @@ private void setListenerToRootView() {
103103
final View rootView = getWindow().getDecorView().findViewById(R.id.frameLayout);
104104
rootView.getViewTreeObserver().addOnGlobalLayoutListener(() -> {
105105
// getActionBarHeight() + getStatusBarHeight() + bottomBar();
106-
final int headerHeight = Global.dpToPx(150);
106+
final int headerHeight = GlobalCommon.dpToPx(150);
107107
int rootViewHeight = rootView.getRootView().getHeight();
108108
int rootHeight = rootView.getHeight();
109109
int heightDiff = rootViewHeight - rootHeight;
Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,192 @@
1+
package net.coding.program.common;
2+
3+
import android.app.Activity;
4+
import android.content.Context;
5+
import android.content.Intent;
6+
import android.content.res.AssetManager;
7+
import android.text.Html;
8+
import android.text.Spannable;
9+
import android.text.style.ImageSpan;
10+
import android.text.style.QuoteSpan;
11+
import android.text.style.URLSpan;
12+
import android.view.View;
13+
import android.webkit.WebView;
14+
15+
import net.coding.program.MyApp;
16+
import net.coding.program.WebActivity;
17+
import net.coding.program.common.activity.WebviewDetailActivity_;
18+
import net.coding.program.common.enter.DrawableTool;
19+
import net.coding.program.common.enter.GifImageSpan;
20+
import net.coding.program.common.htmltext.GrayQuoteSpan;
21+
import net.coding.program.common.htmltext.URLSpanNoUnderline;
22+
import net.coding.program.login.auth.AuthListActivity;
23+
import net.coding.program.login.auth.Login2FATipActivity;
24+
import net.coding.program.model.AccountInfo;
25+
import net.coding.program.model.GitFileObject;
26+
import net.coding.program.user.UserDetailActivity_;
27+
28+
import pl.droidsonroids.gif.GifDrawable;
29+
30+
/**
31+
* Created by chenchao on 2017/11/22.
32+
*/
33+
34+
public class GlobalCommon {
35+
public static View.OnClickListener clickUser = v -> {
36+
String globalKey = (String) v.getTag();
37+
UserDetailActivity_.intent(v.getContext())
38+
.globalKey(globalKey)
39+
.start();
40+
};
41+
public static View.OnClickListener clickJumpWebView = v -> {
42+
Object object = v.getTag();
43+
if (object instanceof String) {
44+
WebviewDetailActivity_.intent(v.getContext())
45+
.comment((String) object)
46+
.start();
47+
}
48+
};
49+
50+
public static int dpToPx(int dpValue) {
51+
return (int) (dpValue * MyApp.sScale + 0.5f);
52+
}
53+
54+
public static int dpToPx(double dpValue) {
55+
return (int) (dpValue * MyApp.sScale + 0.5f);
56+
}
57+
58+
public static int pxToDp(float pxValue) {
59+
return (int) (pxValue / MyApp.sScale + 0.5f);
60+
}
61+
62+
public static void start2FAActivity(Activity activity) {
63+
Intent intent;
64+
if (AccountInfo.loadAuthDatas(activity).isEmpty()) {
65+
intent = new Intent(activity, Login2FATipActivity.class);
66+
} else {
67+
intent = new Intent(activity, AuthListActivity.class);
68+
}
69+
70+
activity.startActivity(intent);
71+
}
72+
73+
static public void setWebViewContent(WebView webview, GitFileObject gitFile) {
74+
Context context = webview.getContext();
75+
if (gitFile.lang.equals("markdown")) {
76+
try {
77+
String template = Global.readTextFile(context.getAssets().open("markdown.html"));
78+
webview.loadDataWithBaseURL(Global.HOST, template.replace("${webview_content}", gitFile.preview), "text/html", "UTF-8", null);
79+
80+
} catch (Exception e) {
81+
Global.errorLog(e);
82+
}
83+
} else {
84+
try {
85+
String template = Global.readTextFile(context.getAssets().open("code.html"));
86+
String replaceData = gitFile.data.replace("<", "&lt;").replace(">", "&gt;").replace("\u2028", "").replace("\u2029", "");
87+
webview.loadDataWithBaseURL(Global.HOST, template.replace("${file_code}", replaceData).replace("${file_lang}", gitFile.lang), "text/html", "UTF-8", null);
88+
} catch (Exception e) {
89+
Global.errorLog(e);
90+
}
91+
}
92+
webview.setWebViewClient(new WebActivity.CustomWebViewClient(webview.getContext()));
93+
94+
}
95+
96+
public static Spannable changeHyperlinkColor(String content) {
97+
return changeHyperlinkColor(content, null, null);
98+
}
99+
100+
public static Spannable changeHyperlinkColor(String content, MyImageGetter imageGetter) {
101+
return changeHyperlinkColor(content, imageGetter, null);
102+
}
103+
104+
public static Spannable changeHyperlinkColor(String content, int linkColor) {
105+
return changeHyperlinkColor(content, null, Global.tagHandler, linkColor);
106+
}
107+
108+
public static Spannable changeHyperlinkColor(String content, int color, MyImageGetter imageGetter) {
109+
return changeHyperlinkColor(content, imageGetter, null, color);
110+
}
111+
112+
public static Spannable changeHyperlinkColor(String content, Html.ImageGetter imageGetter, Html.TagHandler tagHandler) {
113+
return changeHyperlinkColor(content, imageGetter, tagHandler, CodingColor.fontGreen);
114+
}
115+
116+
public static Spannable changeHyperlinkColorMaopao(String content, Html.ImageGetter imageGetter, Html.TagHandler tagHandler, AssetManager assetManager) {
117+
Spannable s = changeHyperlinkColor(content, imageGetter, tagHandler, CodingColor.fontGreen);
118+
return spannToGif(s, assetManager);
119+
}
120+
121+
public static Spannable changeHyperlinkColor(String content, Html.ImageGetter imageGetter, Html.TagHandler tagHandler, int color) {
122+
Spannable s = (Spannable) Html.fromHtml(content, imageGetter, tagHandler);
123+
return getCustomSpannable(color, s);
124+
}
125+
126+
static Spannable getCustomSpannable(int color, Spannable s) {
127+
URLSpan[] urlSpan = s.getSpans(0, s.length(), URLSpan.class);
128+
for (URLSpan span : urlSpan) {
129+
int start = s.getSpanStart(span);
130+
int end = s.getSpanEnd(span);
131+
s.removeSpan(span);
132+
span = new URLSpanNoUnderline(span.getURL(), color);
133+
s.setSpan(span, start, end, 0);
134+
}
135+
136+
QuoteSpan quoteSpans[] = s.getSpans(0, s.length(), QuoteSpan.class);
137+
for (QuoteSpan span : quoteSpans) {
138+
int start = s.getSpanStart(span);
139+
int end = s.getSpanEnd(span);
140+
s.removeSpan(span);
141+
GrayQuoteSpan grayQuoteSpan = new GrayQuoteSpan();
142+
s.setSpan(grayQuoteSpan, start, end, 0);
143+
}
144+
145+
return s;
146+
}
147+
148+
public static Spannable recentMessage(String content, Html.ImageGetter imageGetter, Html.TagHandler tagHandler) {
149+
String parse = HtmlContent.parseToText(content);
150+
151+
Spannable s = (Spannable) Html.fromHtml(parse, imageGetter, null);
152+
return GlobalCommon.getCustomSpannable(CodingColor.font3, s);
153+
}
154+
155+
private static Spannable spannToGif(Spannable s, AssetManager assetManager) {
156+
ImageSpan[] imageSpans = s.getSpans(0, s.length(), ImageSpan.class);
157+
158+
final String[] gifEmojiName = new String[]{
159+
"festival-emoji-01.gif",
160+
"festival-emoji-02.gif",
161+
"festival-emoji-03.gif",
162+
"festival-emoji-04.gif",
163+
"festival-emoji-05.gif",
164+
"festival-emoji-06.gif",
165+
"festival-emoji-07.gif",
166+
"festival-emoji-08.gif",
167+
};
168+
169+
for (ImageSpan imageSpan : imageSpans) {
170+
int start = s.getSpanStart(imageSpan);
171+
int end = s.getSpanEnd(imageSpan);
172+
173+
String imageSource = imageSpan.getSource();
174+
for (String endString : gifEmojiName) {
175+
if (imageSource.endsWith(endString)) {
176+
try {
177+
GifDrawable gifDrawable = new GifDrawable(assetManager, endString);
178+
DrawableTool.zoomDrwable(gifDrawable, true);
179+
gifDrawable.setLoopCount(100);
180+
GifImageSpan gifImageSpan = new GifImageSpan(gifDrawable);
181+
s.removeSpan(imageSpan);
182+
s.setSpan(gifImageSpan, start, end, 0);
183+
} catch (Exception e) {
184+
Global.errorLog(e);
185+
}
186+
}
187+
}
188+
}
189+
190+
return s;
191+
}
192+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class ImageLoadTool {
2222
.cacheInMemory(true)
2323
.cacheOnDisk(true)
2424
.considerExifParams(true)
25-
.displayer(new RoundedBitmapDisplayer(Global.dpToPx((float) 2)))
25+
.displayer(new RoundedBitmapDisplayer(GlobalCommon.dpToPx((float) 2)))
2626
.build();
2727

2828
public static DisplayImageOptions enterOptions = new DisplayImageOptions

app/src/main/java/net/coding/program/common/adapter/SearchMaopaoAdapter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212

1313
import net.coding.program.R;
1414
import net.coding.program.common.Global;
15+
import net.coding.program.common.GlobalCommon;
1516
import net.coding.program.common.HtmlContent;
1617
import net.coding.program.common.ImageLoadTool;
1718
import net.coding.program.common.ViewHolder;
@@ -64,7 +65,7 @@ public View getView(int position, View convertView, ViewGroup parent) {
6465

6566
Maopao.MaopaoObject bean = mData.get(position);
6667

67-
descMaopao.setText(Global.changeHyperlinkColor(HtmlContent.parseReplacePhotoMonkey(bean.content), mImageGetter, Global.tagHandler));
68+
descMaopao.setText(GlobalCommon.changeHyperlinkColor(HtmlContent.parseReplacePhotoMonkey(bean.content), mImageGetter, Global.tagHandler));
6869
bottomName.setText(bean.owner.name);
6970
SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm");
7071
bottomTime.setText(format.format(bean.created_at));

app/src/main/java/net/coding/program/common/comment/BaseCommentHolder.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import net.coding.program.R;
99
import net.coding.program.common.Global;
10+
import net.coding.program.common.GlobalCommon;
1011
import net.coding.program.common.HtmlContent;
1112
import net.coding.program.common.ImageLoadTool;
1213
import net.coding.program.model.BaseComment;
@@ -43,7 +44,7 @@ public BaseCommentHolder(View convertView, int rootLayoutId, View.OnClickListene
4344

4445
mathLabButton = convertView.findViewById(R.id.commentWebviewDetail);
4546
if (mathLabButton != null) {
46-
mathLabButton.setOnClickListener(Global.clickJumpWebView);
47+
mathLabButton.setOnClickListener(GlobalCommon.clickJumpWebView);
4748
}
4849
}
4950

app/src/main/java/net/coding/program/common/comment/HtmlCommentHolder.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@
77
import net.coding.program.R;
88
import net.coding.program.common.DialogCopy;
99
import net.coding.program.common.Global;
10+
import net.coding.program.common.GlobalCommon;
1011
import net.coding.program.common.HtmlContent;
1112
import net.coding.program.common.ImageLoadTool;
1213
import net.coding.program.common.LongClickLinkMovementMethod;
1314
import net.coding.program.maopao.MaopaoListBaseFragment;
1415
import net.coding.program.model.BaseComment;
15-
import net.coding.program.param.MessageParse;
16+
import net.coding.program.common.param.MessageParse;
1617

1718
/**
1819
* Created by chaochen on 14-10-27.
@@ -41,7 +42,7 @@ public void setContent(BaseComment comment) {
4142

4243
String contentString = comment.content;
4344
MessageParse parse = HtmlContent.parseMessage(contentString);
44-
content.setText(Global.changeHyperlinkColor(parse.text, imageGetter, Global.tagHandler));
45+
content.setText(GlobalCommon.changeHyperlinkColor(parse.text, imageGetter, Global.tagHandler));
4546
content.setTag(comment);
4647
content.setTag(MaopaoListBaseFragment.TAG_COMMENT_TEXT, parse.text);
4748
}

app/src/main/java/net/coding/program/common/enter/EnterLayout.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import net.coding.program.common.CommentBackup;
2121
import net.coding.program.common.EmojiTranslate;
2222
import net.coding.program.common.Global;
23+
import net.coding.program.common.GlobalCommon;
2324
import net.coding.program.common.widget.EnterLayoutAnimSupportContainer;
2425
import net.coding.program.common.widget.input.CameraAndPhoto;
2526
import net.coding.program.common.widget.input.InputAction;
@@ -62,8 +63,8 @@ public EnterLayout(Activity activity, View.OnClickListener sendTextOnClick, Type
6263

6364
mActivity = activity;
6465

65-
panelHeight = Global.dpToPx(200);
66-
inputBoxHeight = Global.dpToPx(48);
66+
panelHeight = GlobalCommon.dpToPx(200);
67+
inputBoxHeight = GlobalCommon.dpToPx(48);
6768
screenHeight = MyApp.sHeightPix;
6869

6970
commonEnterRoot = (ViewGroup) mActivity.findViewById(R.id.commonEnterRoot);

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import net.coding.program.FootUpdate;
3131
import net.coding.program.R;
3232
import net.coding.program.common.Global;
33+
import net.coding.program.common.GlobalCommon;
3334
import net.coding.program.common.ImageLoadTool;
3435
import net.coding.program.common.LoadMore;
3536
import net.coding.program.common.StartActivity;
@@ -137,7 +138,7 @@ protected void setActionBar(String name) {
137138
protected void setActionBarShadow(int dp) {
138139
ActionBar actionBar = getActionBarActivity().getSupportActionBar();
139140
if (actionBar != null) {
140-
actionBar.setElevation(Global.dpToPx(dp));
141+
actionBar.setElevation(GlobalCommon.dpToPx(dp));
141142
}
142143
}
143144

0 commit comments

Comments
 (0)