newSelectedList) {
38 |
39 | // 每次刷新顺序都需要清除缓存
40 | if (mListFragments.size() > 0) {
41 | FragmentTransaction ft = mFm.beginTransaction();
42 | for (Fragment f :
43 | mListFragments) {
44 | ft.remove(f);
45 | }
46 | ft.commitAllowingStateLoss();
47 | mFm.executePendingTransactions();
48 | }
49 |
50 | // 清除原有数据源
51 | mListFragments.clear();
52 | mSelectedList.clear();
53 |
54 | // 重新添加数据源
55 | mListFragments.addAll(newListFragments);
56 | mSelectedList.addAll(newSelectedList);
57 |
58 | // 刷新数据
59 | notifyDataSetChanged();
60 | }
61 |
62 | @Override
63 | public int getItemPosition(Object object) {
64 | return POSITION_NONE;
65 | }
66 |
67 | @Override
68 | public Object instantiateItem(ViewGroup container, int position) {
69 | return super.instantiateItem(container, position);
70 | }
71 |
72 | @Override
73 | public Fragment getItem(int position) {
74 | return mListFragments.get(position);
75 | }
76 |
77 | @Override
78 | public int getCount() {
79 | return mListFragments.size();
80 | }
81 |
82 | // @Override
83 | // public void destroyItem(ViewGroup container, int position, Object object) {
84 | // 重写父类销毁方法,就切换viewPager上的列表就不会重复去加载数据,但是会增加内存占用
85 | // container.removeView(mListFragments.get(position).getView());
86 | // }
87 |
88 | @Override
89 | public CharSequence getPageTitle(int position) {
90 | return mSelectedList.get(position).getClassname();
91 | }
92 |
93 | }
94 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/app/Constant.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.app;
2 |
3 | /**
4 | * 常量配置
5 | */
6 | public class Constant {
7 |
8 | }
9 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/app/CrashHandler.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.app;
2 |
3 | import android.content.Context;
4 |
5 | import tv.baokan.liuageandroid.utils.LogUtils;
6 |
7 | public class CrashHandler implements Thread.UncaughtExceptionHandler {
8 |
9 | // 单例引用,这里我们做成单例的,因为我们一个应用程序里面只需要一个UncaughtExceptionHandler实例
10 | private static CrashHandler instance;
11 |
12 | private CrashHandler() {}
13 |
14 | // 同步方法,以免单例多线程环境下出现异常
15 | public synchronized static CrashHandler getInstance() {
16 | if (instance == null) {
17 | instance = new CrashHandler();
18 | }
19 | return instance;
20 | }
21 |
22 | // 初始化,把当前对象设置成UncaughtExceptionHandler处理器
23 | public void init(Context ctx) {
24 | Thread.setDefaultUncaughtExceptionHandler(this);
25 | }
26 |
27 | // 当有未处理的异常发生时,就会来到这里。。
28 | @Override
29 | public void uncaughtException(Thread t, Throwable e) {
30 | LogUtils.d("CrashHandler", "异常发生了, thread: " + t + " name: " + t.getName() + " id: " + t.getId() + "exception: " + e);
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/cache/KeyboardCache.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.cache;
2 |
3 | import org.litepal.crud.DataSupport;
4 |
5 | /**
6 | * 搜索关键词缓存
7 | */
8 | public class KeyboardCache extends DataSupport {
9 |
10 | // 关键词
11 | private String keyboard;
12 |
13 | // 关键词拼音
14 | private String pinyin;
15 |
16 | // 出现的次数
17 | private int num;
18 |
19 | public String getKeyboard() {
20 | return keyboard;
21 | }
22 |
23 | public void setKeyboard(String keyboard) {
24 | this.keyboard = keyboard;
25 | }
26 |
27 | public String getPinyin() {
28 | return pinyin;
29 | }
30 |
31 | public void setPinyin(String pinyin) {
32 | this.pinyin = pinyin;
33 | }
34 |
35 | public int getNum() {
36 | return num;
37 | }
38 |
39 | public void setNum(int num) {
40 | this.num = num;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/cache/NewsContentCache.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.cache;
2 |
3 | import org.litepal.crud.DataSupport;
4 |
5 | /**
6 | * 新闻正文数据缓存
7 | */
8 | public class NewsContentCache extends DataSupport {
9 |
10 | // 文章id
11 | private String articleid;
12 |
13 | // 分类id
14 | private String classid;
15 |
16 | // json数据
17 | private String news;
18 |
19 | public String getArticleid() {
20 | return articleid;
21 | }
22 |
23 | public void setArticleid(String articleid) {
24 | this.articleid = articleid;
25 | }
26 |
27 | public String getClassid() {
28 | return classid;
29 | }
30 |
31 | public void setClassid(String classid) {
32 | this.classid = classid;
33 | }
34 |
35 | public String getNews() {
36 | return news;
37 | }
38 |
39 | public void setNews(String news) {
40 | this.news = news;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/cache/NewsIsGoodHomeCache.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.cache;
2 |
3 | import org.litepal.crud.DataSupport;
4 |
5 | /**
6 | * 资讯幻灯片数据缓存 (首页数据 也就是 今日头条)
7 | */
8 | public class NewsIsGoodHomeCache extends DataSupport {
9 |
10 | // 分类id
11 | private String classid;
12 |
13 | // json数据
14 | private String news;
15 |
16 | public String getClassid() {
17 | return classid;
18 | }
19 |
20 | public void setClassid(String classid) {
21 | this.classid = classid;
22 | }
23 |
24 | public String getNews() {
25 | return news;
26 | }
27 |
28 | public void setNews(String news) {
29 | this.news = news;
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/cache/NewsIsGoodOtherCache.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.cache;
2 |
3 | import org.litepal.crud.DataSupport;
4 |
5 | /**
6 | * 资讯幻灯片数据缓存 (除了 今日头条分类 的数据)
7 | * 今日头条分类id 为0 表示默认
8 | */
9 | public class NewsIsGoodOtherCache extends DataSupport {
10 |
11 | // 分类id
12 | private String classid;
13 |
14 | // json数据
15 | private String news;
16 |
17 | public String getClassid() {
18 | return classid;
19 | }
20 |
21 | public void setClassid(String classid) {
22 | this.classid = classid;
23 | }
24 |
25 | public String getNews() {
26 | return news;
27 | }
28 |
29 | public void setNews(String news) {
30 | this.news = news;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/cache/NewsListHomeCache.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.cache;
2 |
3 | import org.litepal.crud.DataSupport;
4 |
5 | /**
6 | * 资讯、图库列表数据缓存 (首页数据 也就是 今日头条)
7 | */
8 |
9 | public class NewsListHomeCache extends DataSupport {
10 |
11 | // 分类id
12 | private String classid;
13 |
14 | // json数据
15 | private String news;
16 |
17 | public String getClassid() {
18 | return classid;
19 | }
20 |
21 | public void setClassid(String classid) {
22 | this.classid = classid;
23 | }
24 |
25 | public String getNews() {
26 | return news;
27 | }
28 |
29 | public void setNews(String news) {
30 | this.news = news;
31 | }
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/cache/NewsListOtherCache.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.cache;
2 |
3 | import org.litepal.crud.DataSupport;
4 |
5 | /**
6 | * 资讯、图库列表数据缓存 (除了 今日头条分类 的数据)
7 | * 今日头条分类id 为0 表示默认
8 | */
9 | public class NewsListOtherCache extends DataSupport {
10 |
11 | // 分类id
12 | private String classid;
13 |
14 | // json数据
15 | private String news;
16 |
17 | public String getClassid() {
18 | return classid;
19 | }
20 |
21 | public void setClassid(String classid) {
22 | this.classid = classid;
23 | }
24 |
25 | public String getNews() {
26 | return news;
27 | }
28 |
29 | public void setNews(String news) {
30 | this.news = news;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/model/CommentBean.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.model;
2 |
3 | import org.json.JSONException;
4 | import org.json.JSONObject;
5 |
6 | import java.io.Serializable;
7 |
8 | public class CommentBean implements Serializable {
9 |
10 | // 楼层
11 | private String plstep;
12 |
13 | // 评论id
14 | private String plid;
15 |
16 | // 评论用户名
17 | private String plusername;
18 |
19 | // 评论昵称
20 | private String plnickname;
21 |
22 | // 评论id
23 | private String id;
24 |
25 | // 栏目id
26 | private String classid;
27 |
28 | // 赞数量
29 | private String zcnum;
30 |
31 | // 评论内容
32 | private String saytext;
33 |
34 | // 评论时间
35 | private String saytime;
36 |
37 | // 用户头像 需要拼接
38 | private String userpic;
39 |
40 | // 是否被赞过 - 默认没有
41 | private boolean isStar = false;
42 |
43 | public CommentBean(JSONObject jsonObject) {
44 | try {
45 | plstep = jsonObject.getString("plstep");
46 | plid = jsonObject.getString("plid");
47 | plusername = jsonObject.getString("plusername");
48 | plnickname = jsonObject.getString("plnickname");
49 | id = jsonObject.getString("id");
50 | classid = jsonObject.getString("classid");
51 | zcnum = jsonObject.getString("zcnum");
52 | saytext = jsonObject.getString("saytext");
53 | saytime = jsonObject.getString("saytime");
54 | userpic = jsonObject.getString("userpic");
55 | } catch (JSONException e) {
56 | e.printStackTrace();
57 | }
58 | }
59 |
60 | @Override
61 | public String toString() {
62 | return "CommentBean{" +
63 | "plstep='" + plstep + '\'' +
64 | ", plid='" + plid + '\'' +
65 | ", plusername='" + plusername + '\'' +
66 | ", plnickname='" + plnickname + '\'' +
67 | ", id='" + id + '\'' +
68 | ", classid='" + classid + '\'' +
69 | ", zcnum='" + zcnum + '\'' +
70 | ", saytext='" + saytext + '\'' +
71 | ", saytime='" + saytime + '\'' +
72 | ", userpic='" + userpic + '\'' +
73 | '}';
74 | }
75 |
76 | public String getPlstep() {
77 | return plstep;
78 | }
79 |
80 | public String getPlid() {
81 | return plid;
82 | }
83 |
84 | public String getPlusername() {
85 | return plusername;
86 | }
87 |
88 | public String getPlnickname() {
89 | return plnickname;
90 | }
91 |
92 | public String getId() {
93 | return id;
94 | }
95 |
96 | public String getClassid() {
97 | return classid;
98 | }
99 |
100 | public String getZcnum() {
101 | return zcnum;
102 | }
103 |
104 | public String getSaytext() {
105 | return saytext;
106 | }
107 |
108 | public String getSaytime() {
109 | return saytime;
110 | }
111 |
112 | public String getUserpic() {
113 | return userpic;
114 | }
115 |
116 | public void setZcnum(String zcnum) {
117 | this.zcnum = zcnum;
118 | }
119 |
120 | public boolean isStar() {
121 | return isStar;
122 | }
123 |
124 | public void setStar(boolean star) {
125 | isStar = star;
126 | }
127 | }
128 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/receiver/NotificationReceiver.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.receiver;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 | import android.os.Bundle;
7 |
8 | import org.json.JSONException;
9 | import org.json.JSONObject;
10 |
11 | import cn.jpush.android.api.JPushInterface;
12 | import tv.baokan.liuageandroid.ui.activity.NewsDetailActivity;
13 | import tv.baokan.liuageandroid.ui.activity.PhotoDetailActivity;
14 | import tv.baokan.liuageandroid.utils.LogUtils;
15 |
16 | public class NotificationReceiver extends BroadcastReceiver {
17 |
18 | private static final String TAG = "NotificationReceiver";
19 |
20 | @Override
21 | public void onReceive(Context context, Intent intent) {
22 |
23 | if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {
24 | LogUtils.d(TAG, "接收到通知");
25 | Bundle bundle = intent.getExtras();
26 | showTip(context, bundle);
27 | } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
28 | LogUtils.d(TAG, "用户点击打开了通知");
29 | Bundle bundle = intent.getExtras();
30 | jumpToDetail(context, bundle);
31 | }
32 | }
33 |
34 | /**
35 | * 收到通知后判断是否在前台,在则提示
36 | *
37 | * @param context
38 | * @param bundle
39 | */
40 | private void showTip(final Context context, Bundle bundle) {
41 | // if (!App.app.isApplicationBroughtToBackground(context)) {
42 | // try {
43 | // JSONObject json = new JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA));
44 | // String id = json.getString("id");
45 | // String classid = json.getString("classid");
46 | // String type = json.getString("type");
47 | // LogUtils.d(TAG, "id = " + id + " classid = " + classid + " type = " + type);
48 | //
49 | // if (type.equals("photo")) {
50 | // PhotoDetailActivity.start(context, classid, id);
51 | // } else {
52 | // NewsDetailActivity.start(context, classid, id);
53 | // }
54 | // } catch (JSONException e) {
55 | // LogUtils.d(TAG, "解析推送数据失败");
56 | // }
57 | // }
58 | }
59 |
60 | /**
61 | * 跳转页面 - 点击通知后
62 | *
63 | * @param bundle 通知内容
64 | */
65 | private void jumpToDetail(Context context, Bundle bundle) {
66 |
67 | //清除指定通知
68 | JPushInterface.clearNotificationById(context, bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID));
69 |
70 | try {
71 | JSONObject json = new JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA));
72 | String id = json.getString("id");
73 | String classid = json.getString("classid");
74 | String type = json.getString("type");
75 | LogUtils.d(TAG, "id = " + id + " classid = " + classid + " type = " + type);
76 | if (type.equals("photo")) {
77 | PhotoDetailActivity.start(context, classid, id);
78 | } else {
79 | NewsDetailActivity.start(context, classid, id);
80 | }
81 | } catch (JSONException e) {
82 | LogUtils.d(TAG, "解析推送数据失败");
83 | }
84 | }
85 | }
86 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/ui/activity/AboutUsActivity.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.ui.activity;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 | import android.os.Bundle;
6 | import android.os.Handler;
7 | import android.support.v7.widget.LinearLayoutManager;
8 | import android.support.v7.widget.RecyclerView;
9 | import android.view.View;
10 | import android.webkit.WebView;
11 | import android.webkit.WebViewClient;
12 | import android.widget.ProgressBar;
13 |
14 | import com.facebook.drawee.backends.pipeline.Fresco;
15 | import com.lcodecore.tkrefreshlayout.RefreshListenerAdapter;
16 | import com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout;
17 | import com.lcodecore.tkrefreshlayout.header.SinaRefreshView;
18 |
19 | import org.json.JSONArray;
20 | import org.json.JSONException;
21 |
22 | import java.util.ArrayList;
23 | import java.util.List;
24 | import java.util.Random;
25 |
26 | import tv.baokan.liuageandroid.R;
27 | import tv.baokan.liuageandroid.adapter.NewsListRecyclerViewAdapter;
28 | import tv.baokan.liuageandroid.cache.NewsDALManager;
29 | import tv.baokan.liuageandroid.model.ArticleListBean;
30 | import tv.baokan.liuageandroid.utils.AdManager;
31 | import tv.baokan.liuageandroid.utils.LogUtils;
32 | import tv.baokan.liuageandroid.utils.NetworkUtils;
33 | import tv.baokan.liuageandroid.utils.ProgressHUD;
34 | import tv.baokan.liuageandroid.widget.NavigationViewPush;
35 |
36 | public class AboutUsActivity extends BaseActivity {
37 |
38 | private WebView mWebView;
39 | private NavigationViewPush mNavigationViewRed; // 导航栏
40 | private ProgressBar mProgressBar;
41 |
42 | /**
43 | * 便捷启动当前activity
44 | *
45 | * @param activity 启动当前activity的activity
46 | */
47 | public static void start(Activity activity) {
48 | Intent intent = new Intent(activity, AboutUsActivity.class);
49 | activity.startActivity(intent);
50 | activity.overridePendingTransition(R.anim.push_enter, R.anim.push_exit);
51 | }
52 |
53 | @Override
54 | protected void onCreate(Bundle savedInstanceState) {
55 | super.onCreate(savedInstanceState);
56 | setContentView(R.layout.activity_agreement);
57 |
58 | mNavigationViewRed = (NavigationViewPush) findViewById(R.id.nav_agreement);
59 | mWebView = (WebView) findViewById(R.id.wv_agreement_webview);
60 | mProgressBar = (ProgressBar) findViewById(R.id.pb_agreement_progressbar);
61 |
62 | mNavigationViewRed.setupNavigationView(true, false, "关于我们", new NavigationViewPush.OnClickListener() {
63 | @Override
64 | public void onBackClick(View v) {
65 | finish();
66 | }
67 | });
68 |
69 | mWebView.loadUrl("file:///android_asset/www/html/aboutus.html");
70 | mWebView.setWebViewClient(new WebViewClient() {
71 |
72 | @Override
73 | public void onPageFinished(WebView view, String url) {
74 | super.onPageFinished(view, url);
75 | // 隐藏加载进度条
76 | mProgressBar.setVisibility(View.INVISIBLE);
77 | }
78 |
79 | });
80 | }
81 |
82 | }
83 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/ui/activity/AgreementActivity.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.ui.activity;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 | import android.os.Bundle;
6 | import android.view.View;
7 | import android.webkit.WebView;
8 | import android.webkit.WebViewClient;
9 | import android.widget.ProgressBar;
10 |
11 | import tv.baokan.liuageandroid.R;
12 | import tv.baokan.liuageandroid.widget.NavigationViewPush;
13 |
14 | public class AgreementActivity extends BaseActivity {
15 |
16 | private WebView mWebView;
17 | private NavigationViewPush mNavigationViewRed; // 导航栏
18 | private ProgressBar mProgressBar;
19 |
20 | /**
21 | * 便捷启动当前activity
22 | *
23 | * @param activity 启动当前activity的activity
24 | */
25 | public static void start(Activity activity) {
26 | Intent intent = new Intent(activity, AgreementActivity.class);
27 | activity.startActivity(intent);
28 | activity.overridePendingTransition(R.anim.push_enter, R.anim.push_exit);
29 | }
30 |
31 | @Override
32 | protected void onCreate(Bundle savedInstanceState) {
33 | super.onCreate(savedInstanceState);
34 | setContentView(R.layout.activity_agreement);
35 |
36 | mNavigationViewRed = (NavigationViewPush) findViewById(R.id.nav_agreement);
37 | mWebView = (WebView) findViewById(R.id.wv_agreement_webview);
38 | mProgressBar = (ProgressBar) findViewById(R.id.pb_agreement_progressbar);
39 |
40 | mNavigationViewRed.setupNavigationView(true, false, "注册条款", new NavigationViewPush.OnClickListener() {
41 | @Override
42 | public void onBackClick(View v) {
43 | finish();
44 | }
45 | });
46 |
47 | mWebView.loadUrl("file:///android_asset/www/html/agreement.html");
48 | mWebView.setWebViewClient(new WebViewClient() {
49 |
50 | @Override
51 | public void onPageFinished(WebView view, String url) {
52 | super.onPageFinished(view, url);
53 | // 隐藏加载进度条
54 | mProgressBar.setVisibility(View.INVISIBLE);
55 | }
56 |
57 | });
58 | }
59 |
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/ui/fragment/BaseFragment.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.ui.fragment;
2 |
3 | import android.content.Context;
4 | import android.os.Bundle;
5 | import android.support.annotation.Nullable;
6 | import android.support.v4.app.Fragment;
7 | import android.view.LayoutInflater;
8 | import android.view.View;
9 | import android.view.ViewGroup;
10 |
11 | public abstract class BaseFragment extends Fragment {
12 |
13 | private static final String TAG = "BaseFragment";
14 |
15 | // 承载fragment的activity的上下文
16 | protected Context mContext;
17 |
18 | @Override
19 | public void onCreate(@Nullable Bundle savedInstanceState) {
20 | super.onCreate(savedInstanceState);
21 | mContext = getActivity();
22 | }
23 |
24 | @Nullable
25 | @Override
26 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
27 | return prepareUI();
28 | }
29 |
30 | /**
31 | * 强制子类重写,准备UI
32 | *
33 | * @return fragment加载的视图
34 | */
35 | protected abstract View prepareUI();
36 |
37 | @Override
38 | public void onActivityCreated(@Nullable Bundle savedInstanceState) {
39 | super.onActivityCreated(savedInstanceState);
40 | loadData();
41 | }
42 |
43 | /**
44 | * 在activity创建成功后才会调用,加载页面需要的数据
45 | */
46 | protected void loadData() {
47 | }
48 |
49 | }
50 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/utils/APIs.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.utils;
2 |
3 | public class APIs {
4 |
5 | // 基础url
6 | public static final String BASE_URL = "http://www.6ag.cn/";
7 |
8 | // 基础url
9 | private static final String API_URL = BASE_URL + "e/api/";
10 |
11 | // 版本更新
12 | public static final String UPDATE = API_URL + "update.php";
13 |
14 | // 分类
15 | public static final String GET_CLASS = API_URL + "getNewsClass.php";
16 |
17 | // 文章列表
18 | public static final String ARTICLE_LIST = API_URL + "getNewsList.php";
19 |
20 | // 文章详情
21 | public static final String ARTICLE_DETAIL = API_URL + "getNewsContent.php";
22 |
23 | // 获取评论信息
24 | public static final String GET_COMMENT = API_URL + "getNewsComment.php";
25 |
26 | // 提交评论
27 | public static final String SUBMIT_COMMENT = API_URL + "subPlPost.php";
28 |
29 | // 顶贴踩贴
30 | public static final String TOP_DOWN = API_URL + "DoForPl.php";
31 |
32 | // 注册
33 | public static final String REGISTER = API_URL + "Register.php";
34 |
35 | // 登录
36 | public static final String LOGIN = API_URL + "loginReq.php";
37 |
38 | // 获取用户信息
39 | public static final String GET_USERINFO = API_URL + "checkLoginStamp.php";
40 |
41 | // 获取用户收藏夹
42 | public static final String GET_USER_FAVA = API_URL + "getUserFava.php";
43 |
44 | // 删除好友、收藏夹
45 | public static final String DEL_ACTIONS = API_URL + "dellActions.php";
46 |
47 | // 增加删除收藏
48 | public static final String ADD_DEL_FAVA = API_URL + "addFava.php";
49 |
50 | // 修改账号资料/找回密码
51 | public static final String MODIFY_ACCOUNT_INFO = API_URL + "publicActions.php";
52 |
53 | // 获取用户评论列表
54 | public static final String GET_USER_COMMENT = API_URL + "getUserComment.php";
55 |
56 | // 搜索
57 | public static final String SEARCH = API_URL + "search.php";
58 |
59 | // 搜索关键词列表
60 | public static final String SEARCH_KEY_LIST = API_URL + "searchKeyboard.php";
61 |
62 | // 更新搜索关键词列表的开关
63 | public static final String UPDATE_SEARCH_KEY_LIST = API_URL + "updateKeyboard.php";
64 |
65 | // 意见反馈
66 | public static final String FEEDBACK = API_URL + "feedback.php";
67 |
68 | }
69 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/utils/DateUtils.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.utils;
2 |
3 | import java.text.ParseException;
4 | import java.text.SimpleDateFormat;
5 | import java.util.Date;
6 |
7 | public class DateUtils {
8 |
9 | /**
10 | * 将时间戳转换为固定格式的日期字符串
11 | * @param timestamp 时间戳
12 | * @return 日期字符串
13 | */
14 | public static String timestampToDateString(String timestamp) throws ParseException {
15 | String res;
16 | SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
17 | Date date = simpleDateFormat.parse(timestamp);
18 | long ts = date.getTime() / 1000;
19 | res = String.valueOf(ts);
20 | return res;
21 | }
22 |
23 | // 将时间戳转为字符串
24 | public static String getStringTime(String cc_time) {
25 | String re_StrTime = null;
26 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
27 | long lcc_time = Long.valueOf(cc_time);
28 | re_StrTime = sdf.format(new Date(lcc_time * 1000L));
29 | return re_StrTime;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/utils/LogUtils.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.utils;
2 |
3 | import android.util.Log;
4 |
5 | public class LogUtils {
6 |
7 | private static final int VERBOSE = 1;
8 | private static final int DEBUG = 2;
9 | private static final int INFO = 3;
10 | private static final int WARN = 4;
11 | private static final int ERROR = 5;
12 | private static final int NOTHING = 6;
13 | public static int level = VERBOSE;
14 |
15 | /**
16 | * 最低级的日志
17 | *
18 | * @param tag tag标签
19 | * @param msg 日志信息
20 | */
21 | public static void v(String tag, String msg) {
22 | if (level <= VERBOSE) {
23 | Log.v(tag, msg);
24 | }
25 | }
26 |
27 | /**
28 | * debug级别日志,调试用
29 | *
30 | * @param tag tag标签
31 | * @param msg 日志信息
32 | */
33 | public static void d(String tag, String msg) {
34 | if (level <= DEBUG) {
35 | Log.v(tag, msg);
36 | }
37 | }
38 |
39 | /**
40 | * info级别日志,重要信息
41 | *
42 | * @param tag tag标签
43 | * @param msg 日志信息
44 | */
45 | public static void i(String tag, String msg) {
46 | if (level <= INFO) {
47 | Log.v(tag, msg);
48 | }
49 | }
50 |
51 | /**
52 | * warn级别日志,特别需要注意的提示
53 | *
54 | * @param tag tag标签
55 | * @param msg 日志信息
56 | */
57 | public static void w(String tag, String msg) {
58 | if (level <= WARN) {
59 | Log.v(tag, msg);
60 | }
61 | }
62 |
63 | /**
64 | * error级别日志,这个一般在catch块里用
65 | *
66 | * @param tag tag标签
67 | * @param msg 日志信息
68 | */
69 | public static void e(String tag, String msg) {
70 | if (level <= ERROR) {
71 | Log.v(tag, msg);
72 | }
73 | }
74 |
75 | }
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/utils/ProgressHUD.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.utils;
2 |
3 | import android.content.Context;
4 | import android.widget.Toast;
5 |
6 | import com.kaopiz.kprogresshud.KProgressHUD;
7 |
8 | public class ProgressHUD {
9 |
10 | /**
11 | * 显示加载HUD 需要手动取消
12 | *
13 | * @param context 上下文
14 | * @return KProgressHUD
15 | */
16 | public static KProgressHUD show(Context context) {
17 | return KProgressHUD.create(context)
18 | .setStyle(KProgressHUD.Style.SPIN_INDETERMINATE)
19 | .setCancellable(true)
20 | .setDimAmount(0.5f)
21 | .show();
22 | }
23 |
24 | /**
25 | * 显示带文字的加载HUD 需要手动取消
26 | *
27 | * @param context 上下文
28 | * @param tipString 提示文字
29 | * @return KProgressHUD
30 | */
31 | public static KProgressHUD show(Context context, String tipString) {
32 | return KProgressHUD.create(context)
33 | .setStyle(KProgressHUD.Style.SPIN_INDETERMINATE)
34 | .setLabel(tipString)
35 | .setCancellable(true)
36 | .setDimAmount(0.5f)
37 | .show();
38 | }
39 |
40 | /**
41 | * 显示带文字的加载HUD 不需要手动取消
42 | *
43 | * @param context 上下文
44 | * @param tipString 提示文字
45 | * @return KProgressHUD
46 | */
47 | public static void showInfo(Context context, String tipString) {
48 | Toast.makeText(context, tipString, Toast.LENGTH_SHORT).show();
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/utils/SharedPreferencesUtils.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.utils;
2 |
3 | import android.content.Context;
4 | import android.content.SharedPreferences;
5 |
6 | /**
7 | * 全局的配置信息
8 | */
9 | public class SharedPreferencesUtils {
10 |
11 | // 新闻详情字体
12 | public static final String DETAIL_FONT = "font_key";
13 |
14 | // 配置文件名称
15 | private static final String CONFIG_FILE_NAME = "config";
16 |
17 | /**
18 | * 设置一个boolean类型配置
19 | *
20 | * @param context context
21 | * @param key 键
22 | * @param value 值
23 | */
24 | public static void setBoolean(Context context, String key, boolean value) {
25 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE);
26 | sp.edit().putBoolean(key, value).apply();
27 | }
28 |
29 | /**
30 | * 获取一个boolean类型配置
31 | *
32 | * @param context context
33 | * @param key 键
34 | * @param defValue 缺省值
35 | * @return 根据key查找到value
36 | */
37 | public static boolean getBoolean(Context context, String key, boolean defValue) {
38 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE);
39 | return sp.getBoolean(key, defValue);
40 | }
41 |
42 | /**
43 | * 设置一个String类型配置
44 | *
45 | * @param context context
46 | * @param key 键
47 | * @param value 值
48 | */
49 | public static void setString(Context context, String key, String value) {
50 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE);
51 | sp.edit().putString(key, value).apply();
52 | }
53 |
54 | /**
55 | * 获取一个String类型配置
56 | *
57 | * @param context context
58 | * @param key 键
59 | * @param defValue 缺省值
60 | * @return 根据key查找到value
61 | */
62 | public static String getString(Context context, String key, String defValue) {
63 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE);
64 | return sp.getString(key, defValue);
65 | }
66 |
67 | /**
68 | * 设置一个int类型配置
69 | *
70 | * @param context context
71 | * @param key 键
72 | * @param value 值
73 | */
74 | public static void setInt(Context context, String key, int value) {
75 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE);
76 | sp.edit().putInt(key, value).apply();
77 | }
78 |
79 | /**
80 | * 获取一个int类型配置
81 | *
82 | * @param context context
83 | * @param key 键
84 | * @param defValue 缺省值
85 | * @return 根据key查找到value
86 | */
87 | public static int getInt(Context context, String key, int defValue) {
88 | SharedPreferences sp = context.getSharedPreferences(CONFIG_FILE_NAME, Context.MODE_PRIVATE);
89 | return sp.getInt(key, defValue);
90 | }
91 |
92 | }
93 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/utils/SizeUtils.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.utils;
2 |
3 | import android.content.Context;
4 |
5 | public class SizeUtils {
6 |
7 | /**
8 | * dip单位转px单位
9 | *
10 | * @param context 上下文
11 | * @param dipValue dip数值
12 | * @return px数值
13 | */
14 | public static int dip2px(Context context, float dipValue) {
15 | final float scale = context.getResources().getDisplayMetrics().density;
16 | return (int) (dipValue * scale + 0.5f);
17 | }
18 |
19 | /**
20 | * px单位转dip单位
21 | *
22 | * @param context 上下文
23 | * @param pxValue px数值
24 | * @return dip数值
25 | */
26 | public static int px2dip(Context context, float pxValue) {
27 | final float scale = context.getResources().getDisplayMetrics().density;
28 | return (int) (pxValue / scale + 0.5f);
29 | }
30 |
31 | /**
32 | * 获取屏幕宽度 dip
33 | *
34 | * @param context 上下文
35 | * @return 宽度
36 | */
37 | public static int getScreenWidthDip(Context context) {
38 | return px2dip(context, context.getResources().getDisplayMetrics().widthPixels);
39 | }
40 |
41 | /**
42 | * 获取屏幕高度 dip
43 | *
44 | * @param context 上下文
45 | * @return 高度
46 | */
47 | public static int getScreenHeightDip(Context context) {
48 | return px2dip(context, context.getResources().getDisplayMetrics().heightPixels);
49 | }
50 |
51 | /**
52 | * 获取屏幕宽度 px
53 | *
54 | * @param context 上下文
55 | * @return 宽度
56 | */
57 | public static int getScreenWidthPx(Context context) {
58 | return context.getResources().getDisplayMetrics().widthPixels;
59 | }
60 |
61 | /**
62 | * 获取屏幕高度 px
63 | *
64 | * @param context 上下文
65 | * @return 高度
66 | */
67 | public static int getScreenHeightPx(Context context) {
68 | return context.getResources().getDisplayMetrics().heightPixels;
69 | }
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/utils/StatusBarUtils.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.utils;
2 |
3 | import android.annotation.TargetApi;
4 | import android.app.Activity;
5 | import android.content.Context;
6 | import android.os.Build;
7 | import android.view.View;
8 | import android.view.Window;
9 | import android.view.WindowManager;
10 |
11 | /**
12 | * 自定义状态栏工具类
13 | */
14 | public class StatusBarUtils {
15 |
16 | //初始化状态栏
17 | public static void initStatusBar(Activity activity, int color){
18 | if (activity ==null||color<=0)
19 | return;
20 | //取消状态栏修改颜色
21 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
22 | activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉信息栏
23 | activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);//显示状态栏
24 | setTranslucentStatus(activity,true);
25 | }
26 | }
27 |
28 | @TargetApi(19)
29 | public static void setTranslucentStatus(Activity activity, boolean on) {
30 | Window win = activity.getWindow();
31 | WindowManager.LayoutParams winParams = win.getAttributes();
32 | final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
33 | if (on) {
34 | winParams.flags |= bits;
35 | } else {
36 | winParams.flags &= ~bits;
37 | }
38 | win.setAttributes(winParams);
39 | }
40 | //状态栏显示隐藏设置
41 | public static void setStatusBarViewVisibility(View view) {
42 | if (view == null) {
43 | return;
44 | }
45 | //注释掉状态栏view
46 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
47 | view.setVisibility(View.VISIBLE);
48 | } else{
49 | view.setVisibility(View.GONE);
50 | }
51 | }
52 |
53 | /**
54 | * 获取状态栏高度
55 | *
56 | * @return
57 | */
58 | public static int getStatusBarHeight(Context mContext) {
59 | int result = 25;
60 | int resourceId = mContext.getResources().getIdentifier("status_bar_height", "dimen", "android");
61 | if (resourceId > 0) {
62 | result = mContext.getResources().getDimensionPixelSize(resourceId);
63 | }
64 | return result;
65 | }
66 |
67 | }
68 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/utils/StatusUtils.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.utils;
2 |
3 | import android.app.Activity;
4 | import android.view.Window;
5 | import android.view.WindowManager;
6 |
7 | import java.lang.reflect.Field;
8 | import java.lang.reflect.Method;
9 |
10 | public class StatusUtils {
11 |
12 | /**
13 | * 设置MIUI状态栏模式
14 | *
15 | * @param activity activity
16 | * @param darkmode 是否是黑暗系
17 | * @return 是否设置成功
18 | */
19 | public static boolean setMiuiStatusBarDarkMode(Activity activity, boolean darkmode) {
20 | Class extends Window> clazz = activity.getWindow().getClass();
21 | try {
22 | int darkModeFlag = 0;
23 | Class> layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams");
24 | Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE");
25 | darkModeFlag = field.getInt(layoutParams);
26 | Method extraFlagField = clazz.getMethod("setExtraFlags", int.class, int.class);
27 | extraFlagField.invoke(activity.getWindow(), darkmode ? darkModeFlag : 0, darkModeFlag);
28 | return true;
29 | } catch (Exception e) {
30 | e.printStackTrace();
31 | }
32 | return false;
33 | }
34 |
35 | /**
36 | * 设置魅族状态栏模式
37 | *
38 | * @param activity activity
39 | * @param darkmode 是否是黑暗系
40 | * @return 是否设置成功
41 | */
42 | public static boolean setMeizuStatusBarDarkMode(Activity activity, boolean darkmode) {
43 | boolean result = false;
44 | if (activity != null) {
45 | try {
46 | WindowManager.LayoutParams lp = activity.getWindow().getAttributes();
47 | Field darkFlag = WindowManager.LayoutParams.class
48 | .getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON");
49 | Field meizuFlags = WindowManager.LayoutParams.class
50 | .getDeclaredField("meizuFlags");
51 | darkFlag.setAccessible(true);
52 | meizuFlags.setAccessible(true);
53 | int bit = darkFlag.getInt(null);
54 | int value = meizuFlags.getInt(lp);
55 | if (darkmode) {
56 | value |= bit;
57 | } else {
58 | value &= ~bit;
59 | }
60 | meizuFlags.setInt(lp, value);
61 | activity.getWindow().setAttributes(lp);
62 | result = true;
63 | } catch (Exception e) {
64 | e.printStackTrace();
65 | }
66 | }
67 | return result;
68 | }
69 |
70 | }
71 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/widget/CustomerScrollView.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.view.MotionEvent;
6 | import android.view.ViewConfiguration;
7 | import android.widget.ScrollView;
8 |
9 | /**
10 | * 解决scrollView嵌套recyclerView滚动不顺畅问题
11 | */
12 | public class CustomerScrollView extends ScrollView {
13 |
14 | private int downY;
15 | private int mTouchSlop;
16 |
17 | public CustomerScrollView(Context context) {
18 | super(context);
19 | mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
20 | }
21 |
22 | public CustomerScrollView(Context context, AttributeSet attrs) {
23 | super(context, attrs);
24 | mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
25 | }
26 |
27 | public CustomerScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
28 | super(context, attrs, defStyleAttr);
29 | mTouchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
30 | }
31 |
32 | @Override
33 | public boolean onInterceptTouchEvent(MotionEvent e) {
34 | int action = e.getAction();
35 | switch (action) {
36 | case MotionEvent.ACTION_DOWN:
37 | downY = (int) e.getRawY();
38 | break;
39 | case MotionEvent.ACTION_MOVE:
40 | int moveY = (int) e.getRawY();
41 | if (Math.abs(moveY - downY) > mTouchSlop) {
42 | return true;
43 | }
44 | }
45 | return super.onInterceptTouchEvent(e);
46 | }
47 |
48 | }
49 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/widget/NavigationViewModal.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 | import android.widget.ImageView;
8 | import android.widget.RelativeLayout;
9 | import android.widget.TextView;
10 |
11 | import tv.baokan.liuageandroid.R;
12 |
13 | public class NavigationViewModal extends RelativeLayout implements View.OnClickListener {
14 |
15 | public NavigationViewModal(Context context) {
16 | this(context, null);
17 | }
18 |
19 | private ImageView backView;
20 | private TextView titleView;
21 | private ImageView rightView;
22 | private OnClickListener callback;
23 |
24 | // 从布局文件加载会调用
25 | public NavigationViewModal(Context context, AttributeSet attrs) {
26 | super(context, attrs);
27 | View view = LayoutInflater.from(context).inflate(R.layout.navigation_view_modal, this, true);
28 | backView = (ImageView) view.findViewById(R.id.iv_nav_back);
29 | titleView = (TextView) view.findViewById(R.id.tv_nav_title);
30 | rightView = (ImageView) view.findViewById(R.id.iv_nav_right);
31 | backView.setOnClickListener(this);
32 | rightView.setOnClickListener(this);
33 | }
34 |
35 | /**
36 | * 配置导航栏
37 | *
38 | * @param isShowLeft 是否显示左边按钮
39 | * @param isShowRight 是否显示右边按钮
40 | * @param title 标题
41 | * @param onClickListener 监听器
42 | */
43 | public void setupNavigationView(boolean isShowLeft, boolean isShowRight, String title, OnClickListener onClickListener) {
44 | backView.setVisibility(isShowLeft ? VISIBLE : GONE);
45 | rightView.setVisibility(isShowRight ? VISIBLE : GONE);
46 | titleView.setText(title);
47 | this.callback = onClickListener;
48 | }
49 |
50 | /**
51 | * 获取返回按钮
52 | *
53 | * @return
54 | */
55 | public ImageView getBackView() {
56 | return backView;
57 | }
58 |
59 | /**
60 | * 获取标题控件
61 | *
62 | * @return
63 | */
64 | public TextView getTitleView() {
65 | return titleView;
66 | }
67 |
68 | /**
69 | * 获取右侧按钮,默认不显示
70 | *
71 | * @return
72 | */
73 | public ImageView getRightView() {
74 | return rightView;
75 | }
76 |
77 | @Override
78 | public void onClick(View v) {
79 | switch (v.getId()) {
80 | case R.id.iv_nav_back:
81 | if (callback != null) {
82 | callback.onBackClick(backView);
83 | }
84 | break;
85 | case R.id.iv_nav_right:
86 | if (callback != null) {
87 | callback.onRightClick(rightView);
88 | }
89 | break;
90 | }
91 | }
92 |
93 | // 监听点击事件
94 | public abstract static class OnClickListener {
95 | public abstract void onBackClick(View v);
96 |
97 | public void onRightClick(View v) {
98 |
99 | }
100 | }
101 |
102 | }
103 |
104 |
105 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/widget/NavigationViewPush.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 | import android.widget.ImageView;
8 | import android.widget.RelativeLayout;
9 | import android.widget.TextView;
10 |
11 | import tv.baokan.liuageandroid.R;
12 |
13 | public class NavigationViewPush extends RelativeLayout implements View.OnClickListener {
14 |
15 | public NavigationViewPush(Context context) {
16 | this(context, null);
17 | }
18 |
19 | private ImageView backView;
20 | private TextView titleView;
21 | private ImageView rightView;
22 | private OnClickListener callback;
23 |
24 | // 从布局文件加载会调用
25 | public NavigationViewPush(Context context, AttributeSet attrs) {
26 | super(context, attrs);
27 | View view = LayoutInflater.from(context).inflate(R.layout.navigation_view_push, this, true);
28 | backView = (ImageView) view.findViewById(R.id.iv_nav_back);
29 | titleView = (TextView) view.findViewById(R.id.tv_nav_title);
30 | rightView = (ImageView) view.findViewById(R.id.iv_nav_right);
31 | backView.setOnClickListener(this);
32 | rightView.setOnClickListener(this);
33 | }
34 |
35 | /**
36 | * 配置导航栏
37 | *
38 | * @param isShowLeft 是否显示左边按钮
39 | * @param isShowRight 是否显示右边按钮
40 | * @param title 标题
41 | * @param onClickListener 监听器
42 | */
43 | public void setupNavigationView(boolean isShowLeft, boolean isShowRight, String title, OnClickListener onClickListener) {
44 | backView.setVisibility(isShowLeft ? VISIBLE : GONE);
45 | rightView.setVisibility(isShowRight ? VISIBLE : GONE);
46 | titleView.setText(title);
47 | this.callback = onClickListener;
48 | }
49 |
50 | /**
51 | * 获取返回按钮
52 | *
53 | * @return
54 | */
55 | public ImageView getBackView() {
56 | return backView;
57 | }
58 |
59 | /**
60 | * 获取标题控件
61 | *
62 | * @return
63 | */
64 | public TextView getTitleView() {
65 | return titleView;
66 | }
67 |
68 | /**
69 | * 获取右侧按钮,默认不显示
70 | *
71 | * @return
72 | */
73 | public ImageView getRightView() {
74 | return rightView;
75 | }
76 |
77 | @Override
78 | public void onClick(View v) {
79 | switch (v.getId()) {
80 | case R.id.iv_nav_back:
81 | if (callback != null) {
82 | callback.onBackClick(backView);
83 | }
84 | break;
85 | case R.id.iv_nav_right:
86 | if (callback != null) {
87 | callback.onRightClick(rightView);
88 | }
89 | break;
90 | }
91 | }
92 |
93 | // 监听点击事件
94 | public static class OnClickListener {
95 | public void onBackClick(View v) {
96 |
97 | }
98 |
99 | public void onRightClick(View v) {
100 |
101 | }
102 | }
103 |
104 | }
105 |
106 |
107 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/widget/OptionalGridView.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.widget.GridView;
6 |
7 | /**
8 | * 待选择的GridView
9 | */
10 | public class OptionalGridView extends GridView {
11 |
12 | public OptionalGridView(Context paramContext, AttributeSet paramAttributeSet) {
13 | super(paramContext, paramAttributeSet);
14 | }
15 |
16 | @Override
17 | public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
18 | int expandSpec = MeasureSpec.makeMeasureSpec(
19 | Integer.MAX_VALUE >> 2,
20 | MeasureSpec.AT_MOST);
21 | super.onMeasure(widthMeasureSpec, expandSpec);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/widget/ViewPagerFixed.java:
--------------------------------------------------------------------------------
1 | package tv.baokan.liuageandroid.widget;
2 |
3 | import android.content.Context;
4 | import android.support.v4.view.ViewPager;
5 | import android.util.AttributeSet;
6 | import android.view.MotionEvent;
7 |
8 | /**
9 | * 修复PhotoView的bug
10 | */
11 | public class ViewPagerFixed extends ViewPager {
12 |
13 | public ViewPagerFixed(Context context) {
14 | super(context);
15 | }
16 |
17 | public ViewPagerFixed(Context context, AttributeSet attrs) {
18 | super(context, attrs);
19 | }
20 |
21 | @Override
22 | public boolean onTouchEvent(MotionEvent ev) {
23 | try {
24 | return super.onTouchEvent(ev);
25 | } catch (IllegalArgumentException ex) {
26 | ex.printStackTrace();
27 | }
28 | return false;
29 | }
30 |
31 | @Override
32 | public boolean onInterceptTouchEvent(MotionEvent ev) {
33 | try {
34 | return super.onInterceptTouchEvent(ev);
35 | } catch (IllegalArgumentException ex) {
36 | ex.printStackTrace();
37 | }
38 | return false;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/app/src/main/java/tv/baokan/liuageandroid/wxapi/WXEntryActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * 官网地站:http://www.mob.com
3 | * 技术支持QQ: 4006852216
4 | * 官方微信:ShareSDK (如果发布新版本的话,我们将会第一时间通过微信将版本更新内容推送给您。如果使用过程中有任何问题,也可以通过微信与我们取得联系,我们将会在24小时内给予回复)
5 | *
6 | * Copyright (c) 2013年 mob.com. All rights reserved.
7 | */
8 |
9 | package tv.baokan.liuageandroid.wxapi;
10 |
11 | import android.content.Intent;
12 | import android.widget.Toast;
13 |
14 | import cn.sharesdk.wechat.utils.WXAppExtendObject;
15 | import cn.sharesdk.wechat.utils.WXMediaMessage;
16 | import cn.sharesdk.wechat.utils.WechatHandlerActivity;
17 |
18 | /**
19 | * 微信客户端回调activity示例
20 | */
21 | public class WXEntryActivity extends WechatHandlerActivity {
22 |
23 | /**
24 | * 处理微信发出的向第三方应用请求app message
25 | *
26 | * 在微信客户端中的聊天页面有“添加工具”,可以将本应用的图标添加到其中
27 | * 此后点击图标,下面的代码会被执行。Demo仅仅只是打开自己而已,但你可
28 | * 做点其他的事情,包括根本不打开任何页面
29 | */
30 | public void onGetMessageFromWXReq(WXMediaMessage msg) {
31 | if (msg != null) {
32 | Intent iLaunchMyself = getPackageManager().getLaunchIntentForPackage(getPackageName());
33 | startActivity(iLaunchMyself);
34 | }
35 | }
36 |
37 | /**
38 | * 处理微信向第三方应用发起的消息
39 | *
40 | * 此处用来接收从微信发送过来的消息,比方说本demo在wechatpage里面分享
41 | * 应用时可以不分享应用文件,而分享一段应用的自定义信息。接受方的微信
42 | * 客户端会通过这个方法,将这个信息发送回接收方手机上的本demo中,当作
43 | * 回调。
44 | *
45 | * 本Demo只是将信息展示出来,但你可做点其他的事情,而不仅仅只是Toast
46 | */
47 | public void onShowMessageFromWXReq(WXMediaMessage msg) {
48 | if (msg != null && msg.mediaObject != null
49 | && (msg.mediaObject instanceof WXAppExtendObject)) {
50 | WXAppExtendObject obj = (WXAppExtendObject) msg.mediaObject;
51 | Toast.makeText(this, obj.extInfo, Toast.LENGTH_SHORT).show();
52 | }
53 | }
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/column_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/column_hide.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/column_show.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/dismiss_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/dismiss_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/pop_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/pop_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/popup_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/popup_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/progressbar_rotate.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/push_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/push_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/bottom_hide.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
12 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/bottom_show.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
12 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/top_hide.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
12 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/animator/top_show.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
10 |
11 |
12 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/app/src/main/res/color/subscribe_item_text_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/acm_inputbox.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/acm_inputbox.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/icon_add_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/icon_add_btn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/icon_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/icon_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/icon_setting_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/icon_setting_btn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ssdk_oks_ptr_ptr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-hdpi/ssdk_oks_ptr_ptr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v21/selector_cell_touch_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/article_content_qq_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/article_content_qq_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/article_content_share_pyq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/article_content_share_pyq.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/article_content_share_weixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/article_content_share_weixin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/baokan_small_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/baokan_small_logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_back_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_back_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_back_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_back_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_collection_normal1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_collection_normal1.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_collection_normal2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_collection_normal2.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_collection_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_collection_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_comment_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_comment_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_edit_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_edit_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_edit_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_edit_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_font_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_font_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_save_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_save_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_share_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_share_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/bottom_bar_share_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/bottom_bar_share_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/channel_nav_plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/channel_nav_plus.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/comment_comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/comment_comment.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/comment_support.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/comment_support.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/comment_support_highlighted.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/comment_support_highlighted.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/default_portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/default_portrait.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/delete.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/launch_screen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/launch_screen.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/login_icon_code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_code.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/login_icon_phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_phone.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/login_icon_viewcode_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_viewcode_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/login_icon_viewcode_selected.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_viewcode_selected.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/login_icon_yanzhengma.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/login_icon_yanzhengma.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/navigation_logo_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/navigation_logo_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/navigation_right_menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/navigation_right_menu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/news_detail_ad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_detail_ad.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/news_list_ad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_list_ad.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/news_list_comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_list_comment.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/news_list_look.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_list_look.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/news_list_morepic_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/news_list_morepic_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/newscontent_drag_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/newscontent_drag_arrow.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/newscontent_drag_return.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/newscontent_drag_return.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/placeholder_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/placeholder_logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/placeholder_logo_big.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/placeholder_logo_big.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_about_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_about_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_arrow_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_arrow_right.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_clean_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_clean_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_collection_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_collection_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_comment_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_comment_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_feedback_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_feedback_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_footer_star.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_footer_star.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_footer_wx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_footer_wx.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_mode_daylight.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_mode_daylight.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_setting_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_setting_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_share_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_share_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_topbar_collection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_topbar_collection.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_topbar_comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_topbar_comment.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/profile_topbar_info.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/profile_topbar_info.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/progress_rotate_loading.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/progress_rotate_loading.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/pull_refresh_arrow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/pull_refresh_arrow.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/search_bar_icon_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/search_bar_icon_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/search_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/search_icon.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/share_platform_qqfriends.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/share_platform_qqfriends.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/share_platform_sina.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/share_platform_sina.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/share_platform_wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/share_platform_wechat.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_auth_title_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_auth_title_back.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_back_arr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_back_arr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_logo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipay.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipaymoments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_alipaymoments.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_bluetooth.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_bluetooth.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_checked.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_checked.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_check_default.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_douban.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_douban.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_dropbox.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_dropbox.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_email.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_email.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_evernote.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_evernote.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebook.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebookmessenger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_facebookmessenger.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_flickr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_flickr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_foursquare.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_foursquare.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_googleplus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_googleplus.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instagram.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instapaper.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_instapaper.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kaixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kaixin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaostory.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaostory.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaotalk.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_kakaotalk.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwang.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwangmoments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_laiwangmoments.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_line.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_line.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_linkedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_linkedin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_mingdao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_mingdao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pinterest.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pinterest.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pocket.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_pocket.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qq.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qq.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qzone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_qzone.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_renren.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_renren.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_shortmessage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_shortmessage.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_sinaweibo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_sinaweibo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tencentweibo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tencentweibo.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tumblr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_tumblr.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_twitter.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_vkontakte.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_vkontakte.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechat.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatfavorite.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatfavorite.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatmoments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_wechatmoments.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_whatsapp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_whatsapp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixinmoments.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_yixinmoments.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_youdao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_oks_classic_youdao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ssdk_title_div.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/ssdk_title_div.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/textfield_clear_btn.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/textfield_clear_btn.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/title_nav_plus_colse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/title_nav_plus_colse.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/title_nav_plus_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/title_nav_plus_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/top_navigation_back_black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_back_black.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/top_navigation_back_normal.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_back_normal.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/top_navigation_close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_close.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/top_navigation_close_dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_close_dark.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/top_navigation_search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xhdpi/top_navigation_search.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_edit_input_clear.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xxhdpi/ic_edit_input_clear.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/seabar_input.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/drawable-xxhdpi/seabar_input.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/selector_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/selector_button_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/selector_cell_touch_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_button_normal.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_button_pressed.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_comment_edittext.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_news_content_share_button.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shape_splash_time.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ssdk_oks_classic_platform_cell_back.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ssdk_oks_classic_progressbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/subscribe_item_bg.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 |
-
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 | -
15 |
16 |
17 |
18 |
19 |
20 | -
21 |
22 |
23 |
24 |
25 |
26 | -
27 |
28 |
29 |
30 |
31 |
32 | -
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_about_us.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
18 |
19 |
20 |
26 |
27 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_agreement.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
18 |
19 |
20 |
26 |
27 |
28 |
29 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_collection_record.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
18 |
19 |
20 |
26 |
27 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_comment_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
17 |
18 |
19 |
20 |
26 |
27 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_comment_record.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 |
18 |
19 |
20 |
26 |
27 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_photo_browser.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
12 |
17 |
18 |
19 |
20 |
31 |
32 |
40 |
41 |
42 |
51 |
52 |
53 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 |
20 |
21 |
30 |
31 |
41 |
42 |
43 |
44 |
49 |
50 |
51 |
57 |
58 |
59 |
60 |
67 |
68 |
69 |
70 |
71 |
72 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_search_result.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
14 |
15 |
19 |
20 |
21 |
22 |
28 |
29 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_splash.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
15 |
16 |
21 |
22 |
26 |
27 |
38 |
39 |
47 |
48 |
58 |
59 |
60 |
61 |
62 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/cell_news_detail_link_notitlepic.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
16 |
17 |
25 |
26 |
33 |
34 |
43 |
44 |
50 |
51 |
56 |
57 |
66 |
67 |
68 |
69 |
70 |
71 |
79 |
80 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/cell_news_list_nopic.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
18 |
19 |
20 |
30 |
31 |
38 |
39 |
46 |
47 |
55 |
56 |
61 |
62 |
70 |
71 |
72 |
73 |
80 |
81 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/cell_search_keyboard_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
17 |
18 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_comment.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
21 |
22 |
27 |
28 |
35 |
36 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_set_font.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
19 |
20 |
25 |
26 |
31 |
32 |
37 |
38 |
39 |
40 |
45 |
46 |
53 |
54 |
62 |
63 |
64 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_news_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/header_cell_news_list_banner.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/image_photo_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_column_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
20 |
21 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_hot_keyboard.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/navigation_view_modal.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
29 |
30 |
39 |
40 |
41 |
47 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/navigation_view_push.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
18 |
19 |
29 |
30 |
39 |
40 |
41 |
47 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/values-en/ssdk_oks_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Share
4 | Sharing operation is working in the background…
5 | Operation failed
6 | Operation succeeded
7 | Operation canceled
8 | Cancel
9 | Photo Sharing
10 | Confirm
11 | Contacts
12 | Pull down to refresh
13 | Release to refresh
14 | Refreshing…
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/values-w820dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | 64dp
6 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | #FFFFFF
5 |
6 | #131313
7 |
8 |
9 | #E78170
10 |
11 |
12 | #F4F4F4
13 |
14 |
15 | #fff
16 |
17 |
18 | #B2B2B2
19 |
20 | @color/colorPrimary
21 |
22 |
23 | #1C1A1C
24 |
25 |
26 | #B21C1A1C
27 |
28 |
29 | #BCBCBC
30 |
31 | - @color/default_text
32 | #ffb9b9b9
33 | #ff454545
34 | #ff303030
35 | #ffd9d9d9
36 | #ffd2d2d2
37 | #fff5f5f5
38 | #ff464646
39 | #ff252525
40 | #ffffffff
41 | #ffcc3131
42 | #ffefefef
43 | #ffd9d9d9
44 | #fff9f9f9
45 | #ffcdcdcd
46 | #fff5f5f5
47 | #ffcdcdcd
48 | #ff252525
49 | #ff464646
50 | #ff252525
51 | #ffbc494d
52 | #ff2b2b2b
53 |
54 | #ffffff
55 | #cccccc
56 | #D7D7D7
57 |
58 |
59 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
7 | -3dp
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ssdk_instapaper_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
8 |
9 |
10 |
11 | %s
12 |
46 |
47 |
48 |
49 |
58 |
67 |
68 |
69 | ]]>
70 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ssdk_oks_color_drawables.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ffffffff
4 | #ffeeeeee
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ssdk_oks_strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 分享
4 | 分享操作正在后台进行…
5 | 分享失败
6 | 分享成功
7 | 分享已取消
8 | 取消
9 | 图文分享
10 | 确定
11 | 联系人
12 | 下拉刷新
13 | 松开刷新
14 | 刷新中…
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | 六阿哥
3 |
4 |
--------------------------------------------------------------------------------
/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
13 |
14 |
15 |
19 |
20 |
21 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 |
3 | buildscript {
4 | repositories {
5 | jcenter()
6 | }
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:2.2.3'
9 |
10 | // NOTE: Do not place your application dependencies here; they belong
11 | // in the individual module build.gradle files
12 | }
13 | }
14 |
15 | allprojects {
16 | repositories {
17 | jcenter()
18 | maven { url "https://jitpack.io" }
19 | }
20 | }
21 |
22 | task clean(type: Delete) {
23 | delete rootProject.buildDir
24 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 |
3 | # IDE (e.g. Android Studio) users:
4 | # Gradle settings configured through the IDE *will override*
5 | # any settings specified in this file.
6 |
7 | # For more details on how to configure your build environment visit
8 | # http://www.gradle.org/docs/current/userguide/build_environment.html
9 |
10 | # Specifies the JVM arguments used for the daemon process.
11 | # The setting is particularly useful for tweaking memory settings.
12 | org.gradle.jvmargs=-Xmx1536m
13 |
14 | # When configured, Gradle will run in incubating parallel mode.
15 | # This option should only be used with decoupled projects. More details, visit
16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
17 | # org.gradle.parallel=true
18 | android.useDeprecatedNdk=true
19 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Mon Dec 28 10:00:20 PST 2015
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/gradlew.bat:
--------------------------------------------------------------------------------
1 | @if "%DEBUG%" == "" @echo off
2 | @rem ##########################################################################
3 | @rem
4 | @rem Gradle startup script for Windows
5 | @rem
6 | @rem ##########################################################################
7 |
8 | @rem Set local scope for the variables with windows NT shell
9 | if "%OS%"=="Windows_NT" setlocal
10 |
11 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
12 | set DEFAULT_JVM_OPTS=
13 |
14 | set DIRNAME=%~dp0
15 | if "%DIRNAME%" == "" set DIRNAME=.
16 | set APP_BASE_NAME=%~n0
17 | set APP_HOME=%DIRNAME%
18 |
19 | @rem Find java.exe
20 | if defined JAVA_HOME goto findJavaFromJavaHome
21 |
22 | set JAVA_EXE=java.exe
23 | %JAVA_EXE% -version >NUL 2>&1
24 | if "%ERRORLEVEL%" == "0" goto init
25 |
26 | echo.
27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28 | echo.
29 | echo Please set the JAVA_HOME variable in your environment to match the
30 | echo location of your Java installation.
31 |
32 | goto fail
33 |
34 | :findJavaFromJavaHome
35 | set JAVA_HOME=%JAVA_HOME:"=%
36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37 |
38 | if exist "%JAVA_EXE%" goto init
39 |
40 | echo.
41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42 | echo.
43 | echo Please set the JAVA_HOME variable in your environment to match the
44 | echo location of your Java installation.
45 |
46 | goto fail
47 |
48 | :init
49 | @rem Get command-line arguments, handling Windowz variants
50 |
51 | if not "%OS%" == "Windows_NT" goto win9xME_args
52 | if "%@eval[2+2]" == "4" goto 4NT_args
53 |
54 | :win9xME_args
55 | @rem Slurp the command line arguments.
56 | set CMD_LINE_ARGS=
57 | set _SKIP=2
58 |
59 | :win9xME_args_slurp
60 | if "x%~1" == "x" goto execute
61 |
62 | set CMD_LINE_ARGS=%*
63 | goto execute
64 |
65 | :4NT_args
66 | @rem Get arguments from the 4NT Shell from JP Software
67 | set CMD_LINE_ARGS=%$
68 |
69 | :execute
70 | @rem Setup the command line
71 |
72 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
73 |
74 | @rem Execute Gradle
75 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
76 |
77 | :end
78 | @rem End local scope for the variables with windows NT shell
79 | if "%ERRORLEVEL%"=="0" goto mainEnd
80 |
81 | :fail
82 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
83 | rem the _cmd.exe /c_ return code!
84 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
85 | exit /b 1
86 |
87 | :mainEnd
88 | if "%OS%"=="Windows_NT" endlocal
89 |
90 | :omega
91 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 | include ':sliding_menu'
3 |
--------------------------------------------------------------------------------
/sliding_menu/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/sliding_menu/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/sliding_menu/build.gradle:
--------------------------------------------------------------------------------
1 |
2 |
3 | apply plugin: 'android-library'
4 |
5 | dependencies {
6 | compile 'com.android.support:support-v4:13.0.0'
7 | }
8 |
9 | android {
10 | compileSdkVersion 25
11 | buildToolsVersion "25.0.1"
12 |
13 | defaultConfig {
14 | minSdkVersion 19
15 | targetSdkVersion 25
16 | }
17 |
18 | sourceSets {
19 | main {
20 | java.srcDirs = ['src']
21 | resources.srcDirs = ['src']
22 | aidl.srcDirs = ['src']
23 | renderscript.srcDirs = ['src']
24 | res.srcDirs = ['res']
25 | assets.srcDirs = ['assets']
26 |
27 | manifest.srcFile 'AndroidManifest.xml'
28 | }
29 | }
30 |
31 | }
32 |
--------------------------------------------------------------------------------
/sliding_menu/libs/android-support-v4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/6ag/LiuAGeAndroid/907c4cd69c1ce1d32110fbc8486740847085dddf/sliding_menu/libs/android-support-v4.jar
--------------------------------------------------------------------------------
/sliding_menu/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 4.0.0
5 |
6 | slidingmenu
7 | SlidingMenu
8 | apklib
9 |
10 |
11 | com.jeremyfeinstein.slidingmenu
12 | parent
13 | 1.3-SNAPSHOT
14 | ../pom.xml
15 |
16 |
17 |
18 |
19 | com.google.android
20 | android
21 |
22 |
23 | com.google.android
24 | support-v4
25 |
26 |
27 |
28 |
29 | src
30 |
31 |
32 |
33 | com.jayway.maven.plugins.android.generation2
34 | android-maven-plugin
35 | true
36 |
37 | ignored
38 |
39 |
40 |
41 |
42 | org.codehaus.mojo
43 | build-helper-maven-plugin
44 | 1.7
45 |
46 |
47 | package
48 |
49 | attach-artifact
50 |
51 |
52 |
53 |
54 | jar
55 | ${project.build.directory}/${project.build.finalName}.jar
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/sliding_menu/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system use,
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 |
10 | android.library=true
11 | # Project target.
12 | target=android-19
13 |
14 |
--------------------------------------------------------------------------------
/sliding_menu/res/layout/slidingmenumain.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/sliding_menu/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/sliding_menu/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/sliding_menu/src/com/jeremyfeinstein/slidingmenu/lib/CanvasTransformerBuilder.java:
--------------------------------------------------------------------------------
1 | package com.jeremyfeinstein.slidingmenu.lib;
2 |
3 | import android.graphics.Canvas;
4 | import android.view.animation.Interpolator;
5 |
6 | import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu.CanvasTransformer;
7 |
8 | public class CanvasTransformerBuilder {
9 |
10 | private CanvasTransformer mTrans;
11 |
12 | private static Interpolator lin = new Interpolator() {
13 | public float getInterpolation(float t) {
14 | return t;
15 | }
16 | };
17 |
18 | private void initTransformer() {
19 | if (mTrans == null)
20 | mTrans = new CanvasTransformer() {
21 | public void transformCanvas(Canvas canvas, float percentOpen) { }
22 | };
23 | }
24 |
25 | public CanvasTransformer zoom(final int openedX, final int closedX,
26 | final int openedY, final int closedY,
27 | final int px, final int py) {
28 | return zoom(openedX, closedX, openedY, closedY, px, py, lin);
29 | }
30 |
31 | public CanvasTransformer zoom(final int openedX, final int closedX,
32 | final int openedY, final int closedY,
33 | final int px, final int py, final Interpolator interp) {
34 | initTransformer();
35 | mTrans = new CanvasTransformer() {
36 | public void transformCanvas(Canvas canvas, float percentOpen) {
37 | mTrans.transformCanvas(canvas, percentOpen);
38 | float f = interp.getInterpolation(percentOpen);
39 | canvas.scale((openedX - closedX) * f + closedX,
40 | (openedY - closedY) * f + closedY, px, py);
41 | }
42 | };
43 | return mTrans;
44 | }
45 |
46 | public CanvasTransformer rotate(final int openedDeg, final int closedDeg,
47 | final int px, final int py) {
48 | return rotate(openedDeg, closedDeg, px, py, lin);
49 | }
50 |
51 | public CanvasTransformer rotate(final int openedDeg, final int closedDeg,
52 | final int px, final int py, final Interpolator interp) {
53 | initTransformer();
54 | mTrans = new CanvasTransformer() {
55 | public void transformCanvas(Canvas canvas, float percentOpen) {
56 | mTrans.transformCanvas(canvas, percentOpen);
57 | float f = interp.getInterpolation(percentOpen);
58 | canvas.rotate((openedDeg - closedDeg) * f + closedDeg,
59 | px, py);
60 | }
61 | };
62 | return mTrans;
63 | }
64 |
65 | public CanvasTransformer translate(final int openedX, final int closedX,
66 | final int openedY, final int closedY) {
67 | return translate(openedX, closedX, openedY, closedY, lin);
68 | }
69 |
70 | public CanvasTransformer translate(final int openedX, final int closedX,
71 | final int openedY, final int closedY, final Interpolator interp) {
72 | initTransformer();
73 | mTrans = new CanvasTransformer() {
74 | public void transformCanvas(Canvas canvas, float percentOpen) {
75 | mTrans.transformCanvas(canvas, percentOpen);
76 | float f = interp.getInterpolation(percentOpen);
77 | canvas.translate((openedX - closedX) * f + closedX,
78 | (openedY - closedY) * f + closedY);
79 | }
80 | };
81 | return mTrans;
82 | }
83 |
84 | public CanvasTransformer concatTransformer(final CanvasTransformer t) {
85 | initTransformer();
86 | mTrans = new CanvasTransformer() {
87 | public void transformCanvas(Canvas canvas, float percentOpen) {
88 | mTrans.transformCanvas(canvas, percentOpen);
89 | t.transformCanvas(canvas, percentOpen);
90 | }
91 | };
92 | return mTrans;
93 | }
94 |
95 | }
96 |
--------------------------------------------------------------------------------
/sliding_menu/src/com/jeremyfeinstein/slidingmenu/lib/MenuInterface.java:
--------------------------------------------------------------------------------
1 | package com.jeremyfeinstein.slidingmenu.lib;
2 |
3 | import android.graphics.Canvas;
4 | import android.graphics.drawable.Drawable;
5 | import android.view.View;
6 |
7 | public interface MenuInterface {
8 |
9 | public abstract void scrollBehindTo(int x, int y,
10 | CustomViewBehind cvb, float scrollScale);
11 |
12 | public abstract int getMenuLeft(CustomViewBehind cvb, View content);
13 |
14 | public abstract int getAbsLeftBound(CustomViewBehind cvb, View content);
15 |
16 | public abstract int getAbsRightBound(CustomViewBehind cvb, View content);
17 |
18 | public abstract boolean marginTouchAllowed(View content, int x, int threshold);
19 |
20 | public abstract boolean menuOpenTouchAllowed(View content, int currPage, int x);
21 |
22 | public abstract boolean menuTouchInQuickReturn(View content, int currPage, int x);
23 |
24 | public abstract boolean menuClosedSlideAllowed(int x);
25 |
26 | public abstract boolean menuOpenSlideAllowed(int x);
27 |
28 | public abstract void drawShadow(Canvas canvas, Drawable shadow, int width);
29 |
30 | public abstract void drawFade(Canvas canvas, int alpha,
31 | CustomViewBehind cvb, View content);
32 |
33 | public abstract void drawSelector(View content, Canvas canvas, float percentOpen);
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/sliding_menu/src/com/jeremyfeinstein/slidingmenu/lib/app/SlidingActivityBase.java:
--------------------------------------------------------------------------------
1 | package com.jeremyfeinstein.slidingmenu.lib.app;
2 |
3 | import android.view.View;
4 | import android.view.ViewGroup.LayoutParams;
5 |
6 | import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
7 |
8 | public interface SlidingActivityBase {
9 |
10 | /**
11 | * Set the behind view content to an explicit view. This view is placed directly into the behind view 's view hierarchy.
12 | * It can itself be a complex view hierarchy.
13 | *
14 | * @param view The desired content to display.
15 | * @param layoutParams Layout parameters for the view.
16 | */
17 | public void setBehindContentView(View view, LayoutParams layoutParams);
18 |
19 | /**
20 | * Set the behind view content to an explicit view. This view is placed directly into the behind view 's view hierarchy.
21 | * It can itself be a complex view hierarchy. When calling this method, the layout parameters of the specified
22 | * view are ignored. Both the width and the height of the view are set by default to MATCH_PARENT. To use your
23 | * own layout parameters, invoke setContentView(android.view.View, android.view.ViewGroup.LayoutParams) instead.
24 | *
25 | * @param view The desired content to display.
26 | */
27 | public void setBehindContentView(View view);
28 |
29 | /**
30 | * Set the behind view content from a layout resource. The resource will be inflated, adding all top-level views
31 | * to the behind view.
32 | *
33 | * @param layoutResID Resource ID to be inflated.
34 | */
35 | public void setBehindContentView(int layoutResID);
36 |
37 | /**
38 | * Gets the SlidingMenu associated with this activity.
39 | *
40 | * @return the SlidingMenu associated with this activity.
41 | */
42 | public SlidingMenu getSlidingMenu();
43 |
44 | /**
45 | * Toggle the SlidingMenu. If it is open, it will be closed, and vice versa.
46 | */
47 | public void toggle();
48 |
49 | /**
50 | * Close the SlidingMenu and show the content view.
51 | */
52 | public void showContent();
53 |
54 | /**
55 | * Open the SlidingMenu and show the menu view.
56 | */
57 | public void showMenu();
58 |
59 | /**
60 | * Open the SlidingMenu and show the secondary (right) menu view. Will default to the regular menu
61 | * if there is only one.
62 | */
63 | public void showSecondaryMenu();
64 |
65 | /**
66 | * Controls whether the ActionBar slides along with the above view when the menu is opened,
67 | * or if it stays in place.
68 | *
69 | * @param slidingActionBarEnabled True if you want the ActionBar to slide along with the SlidingMenu,
70 | * false if you want the ActionBar to stay in place
71 | */
72 | public void setSlidingActionBarEnabled(boolean slidingActionBarEnabled);
73 |
74 | }
75 |
--------------------------------------------------------------------------------