list);
30 |
31 | void onTaskDeleteFail();
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/AnimatedScaleRunnable.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.graphics.Matrix;
4 | import android.view.View;
5 | import android.view.animation.AccelerateDecelerateInterpolator;
6 | import android.view.animation.Interpolator;
7 |
8 | /**
9 | * Created by Hiroshi on 2017/5/27.
10 | */
11 |
12 | class AnimatedScaleRunnable implements Runnable {
13 |
14 | private final View mView;
15 | private final Matrix mMatrix;
16 | private final float mFocusX, mFocusY;
17 | private final long mStartTime;
18 | private final float mScaleStart, mScaleEnd;
19 | private final OnScaleDragGestureListener mListener;
20 | private final Interpolator mZoomInterpolator = new AccelerateDecelerateInterpolator();
21 |
22 | AnimatedScaleRunnable(float scale, float x, float y, View view, Matrix matrix,
23 | OnScaleDragGestureListener listener) {
24 | mFocusX = x;
25 | mFocusY = y;
26 | mStartTime = System.currentTimeMillis();
27 | mScaleStart = ViewUtils.calculateScale(matrix);
28 | mScaleEnd = scale;
29 | mView = view;
30 | mMatrix = matrix;
31 | mListener = listener;
32 | }
33 |
34 | @Override
35 | public void run() {
36 | float t = interpolate();
37 | float scale = mScaleStart + t * (mScaleEnd - mScaleStart);
38 | float deltaScale = scale / ViewUtils.calculateScale(mMatrix);
39 |
40 | mListener.onScale(deltaScale, mFocusX, mFocusY);
41 |
42 | if (t < 1f) {
43 | ViewUtils.postOnAnimation(mView, this);
44 | }
45 | }
46 |
47 | private float interpolate() {
48 | float t = 1f * (System.currentTimeMillis() - mStartTime) / 200;
49 | t = Math.min(1f, t);
50 | t = mZoomInterpolator.getInterpolation(t);
51 | return t;
52 | }
53 |
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/CustomToast.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.content.Context;
4 | import android.os.Handler;
5 | import android.widget.Toast;
6 |
7 | public class CustomToast {
8 |
9 | private static Toast mToast;
10 | private static Handler mHandler = new Handler();
11 | private static Runnable r = new Runnable() {
12 | public void run() {
13 | mToast.cancel();
14 | }
15 | };
16 |
17 | public static void showToast(Context mContext, String text, int duration) {
18 |
19 | mHandler.removeCallbacks(r);
20 | if (mToast != null)
21 | mToast.setText(text);
22 | else
23 | mToast = Toast.makeText(mContext, text, Toast.LENGTH_SHORT);
24 | mHandler.postDelayed(r, duration);
25 |
26 | mToast.show();
27 | }
28 |
29 | public static void showToast(Context mContext, int resId, int duration) {
30 | showToast(mContext, mContext.getResources().getString(resId), duration);
31 | }
32 |
33 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/MiniClockText.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.content.Context;
4 | import android.os.SystemClock;
5 | import androidx.appcompat.widget.AppCompatTextView;
6 | import android.text.format.DateFormat;
7 | import android.util.AttributeSet;
8 |
9 | import java.util.Calendar;
10 |
11 | /**
12 | * Created by Hiroshi on 2016/7/16.
13 | */
14 | public class MiniClockText extends AppCompatTextView {
15 |
16 | public static final CharSequence FORMAT_24_HOUR = "HH:mm";
17 |
18 | private Calendar mCalendar;
19 | private boolean mAttached = false;
20 |
21 | private Runnable mTicker = new Runnable() {
22 | @Override
23 | public void run() {
24 | mCalendar.setTimeInMillis(System.currentTimeMillis());
25 | setText(DateFormat.format(FORMAT_24_HOUR, mCalendar));
26 |
27 | long now = SystemClock.uptimeMillis();
28 | long next = now + (1000 - now % 1000);
29 |
30 | getHandler().postAtTime(mTicker, next);
31 | }
32 | };
33 |
34 | public MiniClockText(Context context) {
35 | this(context, null);
36 | }
37 |
38 | public MiniClockText(Context context, AttributeSet attrs) {
39 | this(context, attrs, 0);
40 | }
41 |
42 | public MiniClockText(Context context, AttributeSet attrs, int defStyle) {
43 | super(context, attrs, defStyle);
44 | initClock();
45 | }
46 |
47 | private void initClock() {
48 | if (mCalendar == null) {
49 | mCalendar = Calendar.getInstance();
50 | }
51 | }
52 |
53 | @Override
54 | protected void onAttachedToWindow() {
55 | super.onAttachedToWindow();
56 | if (!mAttached) {
57 | mAttached = true;
58 | mTicker.run();
59 | }
60 | }
61 |
62 | @Override
63 | protected void onDetachedFromWindow() {
64 | super.onDetachedFromWindow();
65 | if (mAttached) {
66 | getHandler().removeCallbacks(mTicker);
67 | mAttached = false;
68 | }
69 | }
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/OnScaleDragGestureListener.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | /**
4 | * ****************************************************************************
5 | * Copyright 2011, 2012 Chris Banes.
6 | *
7 | * Licensed under the Apache License, Version 2.0 (the "License");
8 | * you may not use this file except in compliance with the License.
9 | * You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing, software
14 | * distributed under the License is distributed on an "AS IS" BASIS,
15 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 | * See the License for the specific language governing permissions and
17 | * limitations under the License.
18 | * *****************************************************************************
19 | */
20 | public interface OnScaleDragGestureListener {
21 | void onDrag(float dx, float dy);
22 |
23 | void onFling(float startX, float startY, float velocityX, float velocityY);
24 |
25 | void onScale(float scaleFactor, float focusX, float focusY);
26 |
27 | void onScaleEnd();
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/OnTapGestureListener.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | /**
4 | * Created by Hiroshi on 2017/5/27.
5 | */
6 |
7 | public interface OnTapGestureListener {
8 |
9 | void onSingleTap(float x, float y);
10 |
11 | void onLongPress(float x, float y);
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/Option.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.content.Context;
4 | import android.content.res.TypedArray;
5 | import android.util.AttributeSet;
6 | import android.view.LayoutInflater;
7 | import android.widget.FrameLayout;
8 | import android.widget.TextView;
9 |
10 | import com.haleydu.cimoc.R;
11 |
12 | import butterknife.ButterKnife;
13 |
14 | /**
15 | * Created by Hiroshi on 2017/1/11.
16 | */
17 |
18 | public class Option extends FrameLayout {
19 |
20 | protected TextView mTitleView;
21 | protected TextView mSummaryView;
22 |
23 | public Option(Context context) {
24 | this(context, null);
25 | }
26 |
27 | public Option(Context context, AttributeSet attrs) {
28 | this(context, attrs, 0);
29 | }
30 |
31 | public Option(Context context, AttributeSet attrs, int defStyle) {
32 | super(context, attrs, defStyle);
33 | LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
34 | layoutInflater.inflate(R.layout.custom_option, this);
35 |
36 | initText(context, attrs);
37 | }
38 |
39 | private void initText(Context context, AttributeSet attrs) {
40 | TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.Option);
41 | String title = typedArray.getString(R.styleable.Option_title);
42 | String summary = typedArray.getString(R.styleable.Option_summary);
43 |
44 | mTitleView = this.findViewById(R.id.custom_option_title);
45 | mSummaryView = this.findViewById(R.id.custom_option_summary);
46 |
47 | mTitleView.setText(title);
48 | mSummaryView.setText(summary);
49 |
50 | typedArray.recycle();
51 | }
52 |
53 | public void setSummary(CharSequence text) {
54 | mSummaryView.setText(text);
55 | }
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/PreCacheLayoutManager.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.content.Context;
4 | import androidx.recyclerview.widget.LinearLayoutManager;
5 | import androidx.recyclerview.widget.RecyclerView;
6 |
7 | /**
8 | * Created by Hiroshi on 2016/8/13.
9 | */
10 | public class PreCacheLayoutManager extends LinearLayoutManager {
11 |
12 | private int mExtraSpace = 0;
13 |
14 | public PreCacheLayoutManager(Context context) {
15 | super(context);
16 | }
17 |
18 | public PreCacheLayoutManager(Context context, int orientation, boolean reverseLayout) {
19 | super(context, orientation, reverseLayout);
20 | }
21 |
22 | public void setExtraSpace(int extraSpace) {
23 | mExtraSpace = extraSpace;
24 | }
25 |
26 | @Override
27 | protected int getExtraLayoutSpace(RecyclerView.State state) {
28 | if (mExtraSpace > 0) {
29 | if (getOrientation() == LinearLayoutManager.HORIZONTAL) {
30 | return mExtraSpace * getWidth();
31 | } else {
32 | return mExtraSpace * getHeight();
33 | }
34 | }
35 | return 0;
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/RetryDraweeView.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 |
6 | import com.facebook.drawee.controller.AbstractDraweeController;
7 | import com.facebook.drawee.generic.GenericDraweeHierarchy;
8 | import com.facebook.drawee.view.SimpleDraweeView;
9 |
10 | /**
11 | * Created by Hiroshi on 2017/5/27.
12 | */
13 |
14 | public class RetryDraweeView extends SimpleDraweeView {
15 |
16 | public RetryDraweeView(Context context, GenericDraweeHierarchy hierarchy) {
17 | super(context, hierarchy);
18 | }
19 |
20 | public RetryDraweeView(Context context) {
21 | this(context, null, 0);
22 | }
23 |
24 | public RetryDraweeView(Context context, AttributeSet attrs) {
25 | this(context, attrs, 0);
26 | }
27 |
28 | public RetryDraweeView(Context context, AttributeSet attrs, int defStyle) {
29 | super(context, attrs, defStyle);
30 | }
31 |
32 | public boolean retry() {
33 | AbstractDraweeController controller = (AbstractDraweeController) getController();
34 | return controller != null && controller.onClick();
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/ReverseSeekBar.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 |
6 | import org.adw.library.widgets.discreteseekbar.DiscreteSeekBar;
7 |
8 | /**
9 | * Created by Hiroshi on 2016/8/13.
10 | */
11 | public class ReverseSeekBar extends DiscreteSeekBar {
12 |
13 | private boolean isReverse = false;
14 |
15 | public ReverseSeekBar(Context context, AttributeSet attrs, int defStyle) {
16 | super(context, attrs, defStyle);
17 | }
18 |
19 | public ReverseSeekBar(Context context, AttributeSet attrs) {
20 | super(context, attrs);
21 | }
22 |
23 | public ReverseSeekBar(Context context) {
24 | super(context);
25 | }
26 |
27 | @Override
28 | public boolean isRtl() {
29 | return isReverse;
30 | }
31 |
32 | public void setReverse(boolean reverse) {
33 | isReverse = reverse;
34 | invalidate();
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/ScrollAwareFABBehavior.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.content.Context;
4 | import androidx.coordinatorlayout.widget.CoordinatorLayout;
5 | import com.google.android.material.floatingactionbutton.FloatingActionButton;
6 | import androidx.core.view.ViewCompat;
7 | import android.util.AttributeSet;
8 | import android.view.View;
9 |
10 | /**
11 | * Created by Hiroshi on 2016/7/2.
12 | */
13 | public class ScrollAwareFABBehavior extends FloatingActionButton.Behavior {
14 |
15 | public ScrollAwareFABBehavior(Context context, AttributeSet attrs) {
16 | super();
17 | }
18 |
19 | @Override
20 | public boolean onStartNestedScroll(CoordinatorLayout coordinatorLayout,
21 | FloatingActionButton child, View directTargetChild, View target, int nestedScrollAxes) {
22 | return nestedScrollAxes == ViewCompat.SCROLL_AXIS_VERTICAL ||
23 | super.onStartNestedScroll(coordinatorLayout, child, directTargetChild, target,
24 | nestedScrollAxes);
25 | }
26 |
27 | @Override
28 | public void onNestedScroll(CoordinatorLayout coordinatorLayout, FloatingActionButton child,
29 | View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) {
30 | super.onNestedScroll(coordinatorLayout, child, target, dxConsumed, dyConsumed, dxUnconsumed,
31 | dyUnconsumed);
32 | if (dyConsumed > 0 && child.getVisibility() == View.VISIBLE) {
33 | child.hide(new FloatingActionButton.OnVisibilityChangedListener() {
34 | @Override
35 | public void onHidden(FloatingActionButton fab) {
36 | super.onHidden(fab);
37 | fab.setVisibility(View.INVISIBLE);
38 | }
39 | });
40 | } else if (dyConsumed < 0 && child.getVisibility() == View.INVISIBLE) {
41 | child.show();
42 | }
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/ui/widget/ViewUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.ui.widget;
2 |
3 | import android.content.Context;
4 | import android.graphics.Matrix;
5 | import android.os.Build;
6 | import android.view.View;
7 |
8 | /**
9 | * Created by Hiroshi on 2016/10/12.
10 | */
11 |
12 | public class ViewUtils {
13 |
14 | public static float dpToPixel(float dp, Context context) {
15 | return dp * context.getResources().getDisplayMetrics().density;
16 | }
17 |
18 | public static int getStatusBarHeight(Context context) {
19 | int result = (int) Math.ceil(25 * context.getResources().getDisplayMetrics().density);
20 | int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
21 | if (resourceId > 0) {
22 | result = context.getResources().getDimensionPixelSize(resourceId);
23 | }
24 | return result;
25 | }
26 |
27 | public static int getNavigationBarHeight(Context context) {
28 | int result = (int) Math.ceil(48 * context.getResources().getDisplayMetrics().density);
29 | int resourceId = context.getResources().getIdentifier("navigation_bar_height", "dimen", "android");
30 | if (resourceId > 0) {
31 | result = context.getResources().getDimensionPixelSize(resourceId);
32 | }
33 | return result;
34 | }
35 |
36 | public static void postOnAnimation(View view, Runnable runnable) {
37 | if (Build.VERSION.SDK_INT >= 16) {
38 | view.postOnAnimation(runnable);
39 | } else {
40 | view.postDelayed(runnable, 16L);
41 | }
42 | }
43 |
44 | public static float calculateScale(Matrix matrix) {
45 | float[] values = new float[9];
46 | matrix.getValues(values);
47 | return (float) Math.sqrt((float) Math.pow(values[Matrix.MSCALE_X], 2) +
48 | (float) Math.pow(values[Matrix.MSKEW_Y], 2));
49 | }
50 |
51 | public static int getViewWidth(View view) {
52 | return view.getWidth() - view.getPaddingLeft() - view.getPaddingRight();
53 | }
54 |
55 | public static int getViewHeight(View view) {
56 | return view.getHeight() - view.getPaddingTop() - view.getPaddingBottom();
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/CollectionUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import java.util.ArrayList;
4 | import java.util.Collection;
5 | import java.util.List;
6 |
7 | import rx.functions.Func1;
8 |
9 | /**
10 | * Created by Hiroshi on 2016/12/2.
11 | */
12 |
13 | public class CollectionUtils {
14 |
15 | public static Collection minus(Collection lhs, Collection rhs) {
16 | Collection collection = new ArrayList<>(lhs);
17 | lhs.removeAll(rhs);
18 | return collection;
19 | }
20 |
21 | public static List map(Collection origin, Func1 func) {
22 | List result = new ArrayList<>(origin.size());
23 | for (T element : origin) {
24 | result.add(func.call(element));
25 | }
26 | return result;
27 | }
28 |
29 | public static int[] unbox(List list) {
30 | int[] result = new int[list.size()];
31 | for (int i = 0; i != result.length; ++i) {
32 | result[i] = list.get(i);
33 | }
34 | return result;
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/ComicUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import androidx.collection.LongSparseArray;
4 |
5 | import com.haleydu.cimoc.model.Comic;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * Created by Hiroshi on 2017/3/24.
11 | */
12 |
13 | public class ComicUtils {
14 |
15 | public static LongSparseArray buildComicMap(List list) {
16 | LongSparseArray array = new LongSparseArray<>();
17 | for (Comic comic : list) {
18 | array.put(comic.getId(), comic);
19 | }
20 | return array;
21 | }
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/HintUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import android.content.Context;
4 | import com.google.android.material.snackbar.Snackbar;
5 | import android.view.View;
6 | import android.widget.Toast;
7 |
8 | /**
9 | * Created by Hiroshi on 2016/9/22.
10 | */
11 |
12 | public class HintUtils {
13 |
14 | public static void showSnackbar(View layout, String msg) {
15 | if (layout != null && layout.isShown()) {
16 | Snackbar.make(layout, msg, Snackbar.LENGTH_SHORT).show();
17 | }
18 | }
19 |
20 | public static void showToast(Context context, int resId) {
21 | Toast.makeText(context, resId, Toast.LENGTH_SHORT).show();
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/HttpUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import okhttp3.Request;
4 |
5 | /**
6 | * Created by toesbieya on 2020/03/04
7 | * okhttp的常用方法
8 | */
9 | public class HttpUtils {
10 | public static Request getSimpleMobileRequest(String url) {
11 | return new Request.Builder()
12 | .addHeader("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/12.0 Mobile/15A372 Safari/604.1")
13 | .url(url)
14 | .build();
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/JMTTUtil.kt:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils
2 |
3 | import android.graphics.Bitmap
4 | import android.graphics.BitmapFactory
5 | import android.graphics.Canvas
6 | import android.graphics.Rect
7 | import android.util.Log
8 | import okhttp3.MediaType
9 | import okhttp3.OkHttpClient
10 | import okhttp3.Response
11 | import okhttp3.ResponseBody
12 | import java.io.ByteArrayOutputStream
13 | import java.io.InputStream
14 | import kotlin.math.floor
15 |
16 | class JMTTUtil {
17 |
18 | public fun decodeImage(img: InputStream): ByteArray {
19 | // 使用bitmap进行图片处理
20 | val input = BitmapFactory.decodeStream(img)
21 | // 漫画高度 and width
22 | val height = input.height
23 | val width = input.width
24 | // 水平分割10个小图
25 | val rows = 10
26 | // 未除尽像素
27 | val remainder = (height % rows)
28 | // 创建新的图片对象
29 | val resultBitmap = Bitmap.createBitmap(input.width, input.height, Bitmap.Config.ARGB_8888)
30 | val canvas = Canvas(resultBitmap)
31 | // 分割图片
32 | for (x in 0 until rows) {
33 | // 分割算法(详情见html源码页的方法"function scramble_image(img)")
34 | var copyH = floor(height / rows.toDouble()).toInt()
35 | var py = copyH * (x)
36 | val y = height - (copyH * (x + 1)) - remainder
37 | if (x == 0) {
38 | copyH += remainder
39 | } else {
40 | py += remainder
41 | }
42 | // 要裁剪的区域
43 | val crop = Rect(0, y, width, y + copyH)
44 | // 裁剪后应放置到新图片对象的区域
45 | val splic = Rect(0, py, width, py + copyH)
46 |
47 | canvas.drawBitmap(input, crop, splic, null)
48 | }
49 | // 创建输出流
50 | val output = ByteArrayOutputStream()
51 | resultBitmap.compress(Bitmap.CompressFormat.JPEG, 100, output)
52 | return output.toByteArray()
53 | }
54 | }
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/PermissionUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import android.Manifest;
4 | import android.app.Activity;
5 | import android.content.pm.PackageManager;
6 |
7 | import androidx.annotation.NonNull;
8 | import androidx.core.content.ContextCompat;
9 |
10 | /**
11 | * Created by Hiroshi on 2016/10/20.
12 | */
13 |
14 | public class PermissionUtils {
15 |
16 | public static boolean hasStoragePermission(Activity activity) {
17 | int writeResult = checkPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
18 | return writeResult == PackageManager.PERMISSION_GRANTED;
19 | }
20 |
21 | public static boolean hasAllPermissions(Activity activity) {
22 | int readResult = checkPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
23 | int writeResult = checkPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
24 | int readPhoneState = checkPermission(activity, Manifest.permission.READ_PHONE_STATE);
25 | return readResult == PackageManager.PERMISSION_GRANTED &&
26 | writeResult == PackageManager.PERMISSION_GRANTED &&
27 | readPhoneState == PackageManager.PERMISSION_GRANTED;
28 | }
29 |
30 | public static int checkPermission(@NonNull Activity activity, @NonNull String permission) {
31 | return ContextCompat.checkSelfPermission(activity, permission);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/RxUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import android.annotation.SuppressLint;
4 |
5 | import java.security.SecureRandom;
6 | import java.security.cert.X509Certificate;
7 |
8 | import javax.net.ssl.HostnameVerifier;
9 | import javax.net.ssl.SSLContext;
10 | import javax.net.ssl.SSLSession;
11 | import javax.net.ssl.SSLSocketFactory;
12 | import javax.net.ssl.TrustManager;
13 | import javax.net.ssl.X509TrustManager;
14 |
15 | public class RxUtils {
16 |
17 | @SuppressLint("TrulyRandom")
18 | public static SSLSocketFactory createSSLSocketFactory() {
19 | SSLSocketFactory sSLSocketFactory = null;
20 | try {
21 | SSLContext sc = SSLContext.getInstance("TLS");
22 | sc.init(null, new TrustManager[]{new TrustAllManager()},
23 | new SecureRandom());
24 | sSLSocketFactory = sc.getSocketFactory();
25 | } catch (Exception ignored) {
26 | }
27 | return sSLSocketFactory;
28 | }
29 |
30 | public static class TrustAllManager implements X509TrustManager {
31 | @SuppressLint("TrustAllX509TrustManager")
32 | @Override
33 | public void checkClientTrusted(X509Certificate[] chain, String authType) {
34 | }
35 |
36 | @SuppressLint("TrustAllX509TrustManager")
37 | @Override
38 | public void checkServerTrusted(X509Certificate[] chain, String authType) {
39 | }
40 |
41 | @Override
42 | public X509Certificate[] getAcceptedIssuers() {
43 | return new X509Certificate[0];
44 | }
45 | }
46 |
47 | public static class TrustAllHostnameVerifier implements HostnameVerifier {
48 | @SuppressLint("BadHostnameVerifier")
49 | @Override
50 | public boolean verify(String hostname, SSLSession session) {
51 | return true;
52 | }
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/ServiceUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import android.app.ActivityManager;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import com.haleydu.cimoc.service.DownloadService;
8 |
9 | /**
10 | * Created by Hiroshi on 2016/12/4.
11 | */
12 |
13 | public class ServiceUtils {
14 |
15 | public static boolean isServiceRunning(Context context, Class> service) {
16 | ActivityManager manager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
17 | for (ActivityManager.RunningServiceInfo info : manager.getRunningServices(Integer.MAX_VALUE)) {
18 | if (info.service.getClassName().equals(service.getName())) {
19 | return true;
20 | }
21 | }
22 | return false;
23 | }
24 |
25 | public static void stopService(Context context, Class> service) {
26 | context.stopService(new Intent(context, DownloadService.class));
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/ThemeUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import android.content.Context;
4 | import android.util.TypedValue;
5 |
6 | import com.haleydu.cimoc.R;
7 |
8 | /**
9 | * Created by Hiroshi on 2016/10/2.
10 | */
11 |
12 | public class ThemeUtils {
13 |
14 | public static final int THEME_BLUE = 0;
15 | public static final int THEME_GREY = 1;
16 | public static final int THEME_TEAL = 2;
17 | public static final int THEME_PURPLE = 3;
18 | public static final int THEME_PINK = 4;
19 | public static final int THEME_BROWN = 5;
20 |
21 | public static int getResourceId(Context context, int attr) {
22 | TypedValue typedValue = new TypedValue();
23 | context.getTheme().resolveAttribute(attr, typedValue, true);
24 | return typedValue.resourceId;
25 | }
26 |
27 | public static int getThemeById(int id) {
28 | switch (id) {
29 | default:
30 | case THEME_BLUE:
31 | return R.style.AppThemeBlue;
32 | case THEME_GREY:
33 | return R.style.AppThemeGrey;
34 | case THEME_TEAL:
35 | return R.style.AppThemeTeal;
36 | case THEME_PURPLE:
37 | return R.style.AppThemePurple;
38 | case THEME_PINK:
39 | return R.style.AppThemePink;
40 | case THEME_BROWN:
41 | return R.style.AppThemeBrown;
42 | }
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/UrlEncodeUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import java.io.UnsupportedEncodingException;
4 | import java.net.URLEncoder;
5 | import java.util.regex.Matcher;
6 | import java.util.regex.Pattern;
7 |
8 | public class UrlEncodeUtils {
9 |
10 | public static String urlEncodeChinese(String url) {
11 | try {
12 | Matcher matcher = Pattern.compile("[\\u4e00-\\u9fa5]").matcher(url);
13 | String tmp = "";
14 | while (matcher.find()) {
15 | tmp = matcher.group();
16 | url = url.replaceAll(tmp, URLEncoder.encode(tmp, "UTF-8"));
17 | }
18 | } catch (UnsupportedEncodingException e) {
19 | e.printStackTrace();
20 | }
21 | return url;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/interpretationUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | import com.haleydu.cimoc.model.Comic;
4 | import com.haleydu.cimoc.source.CCMH;
5 | import com.haleydu.cimoc.source.Cartoonmad;
6 | import com.haleydu.cimoc.source.JMTT;
7 | import com.haleydu.cimoc.source.CopyMH;
8 | import com.haleydu.cimoc.source.DM5;
9 | import com.haleydu.cimoc.source.GuFeng;
10 | import com.haleydu.cimoc.source.MH50;
11 | import com.haleydu.cimoc.source.Manhuatai;
12 | import com.haleydu.cimoc.source.MiGu;
13 | import com.haleydu.cimoc.source.Tencent;
14 |
15 | public class interpretationUtils {
16 |
17 | public static boolean isReverseOrder(Comic comic){
18 | int type = comic.getSource();
19 | return type == MH50.TYPE ||
20 | type == MiGu.TYPE ||
21 | type == CCMH.TYPE ||
22 | type == Cartoonmad.TYPE ||
23 | //type == JMTT.TYPE ||
24 | //type == Manhuatai.TYPE ||
25 | //type == Tencent.TYPE ||
26 | //type == GuFeng.TYPE ||
27 | //type == CopyMH.TYPE ||
28 | type == DM5.TYPE;
29 | }
30 | }
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/java/com/haleydu/cimoc/utils/pictureUtils.java:
--------------------------------------------------------------------------------
1 | package com.haleydu.cimoc.utils;
2 |
3 | public class pictureUtils {
4 |
5 | public static boolean isPictureFormat(String suffix){
6 | suffix = suffix.toLowerCase();
7 | if (suffix.equals("bmp") ||
8 | suffix.equals("jpg") ||
9 | suffix.equals("png") ||
10 | suffix.equals("tif") ||
11 | suffix.equals("gif") ||
12 | suffix.equals("pcx") ||
13 | suffix.equals("tga") ||
14 | suffix.equals("exif") ||
15 | suffix.equals("fpx") ||
16 | suffix.equals("svg") ||
17 | suffix.equals("psd") ||
18 | suffix.equals("cdr") ||
19 | suffix.equals("pcd") ||
20 | suffix.equals("dxf") ||
21 | suffix.equals("ufo") ||
22 | suffix.equals("eps") ||
23 | suffix.equals("ai") ||
24 | suffix.equals("raw") ||
25 | suffix.equals("wmf") ||
26 | suffix.equals("webp")){
27 | return true;
28 | }
29 | return false;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_about_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_about_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_account_box_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_account_box_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_account_box_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_account_box_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_brightness_4_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_brightness_4_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_chat_bubble_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_chat_bubble_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_chat_bubble_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_chat_bubble_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_class_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_class_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_clear_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_clear_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_done_all_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_done_all_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_done_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_done_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_favorite_border_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_favorite_border_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_favorite_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_favorite_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_file_download_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_file_download_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_filter_list_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_filter_list_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_history_black_18dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_history_black_18dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_history_white_18dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_history_white_18dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_history_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_history_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_import_contacts_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_import_contacts_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_launch_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_launch_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_local_cafe_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_local_cafe_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_navigate_before_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_navigate_before_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_pause_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_play_arrow_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_replay_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_replay_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_save_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_save_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_search_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_search_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_settings_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_share_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_share_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_share_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_swap_vert_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_swap_vert_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_sync_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_sync_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_widgets_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-hdpi/ic_widgets_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_about_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_about_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_account_box_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_account_box_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_account_box_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_account_box_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_brightness_4_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_brightness_4_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_chat_bubble_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_chat_bubble_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_chat_bubble_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_chat_bubble_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_class_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_class_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_clear_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_clear_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_done_all_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_done_all_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_done_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_done_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_favorite_border_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_favorite_border_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_favorite_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_favorite_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_file_download_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_file_download_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_filter_list_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_filter_list_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_history_black_18dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_history_black_18dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_history_white_18dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_history_white_18dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_history_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_history_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_import_contacts_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_import_contacts_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_launch_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_launch_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_local_cafe_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_local_cafe_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_navigate_before_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_navigate_before_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_pause_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_play_arrow_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_replay_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_replay_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_save_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_save_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_search_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_search_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_settings_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_share_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_share_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_share_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_swap_vert_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_swap_vert_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_sync_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_sync_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_widgets_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xhdpi/ic_widgets_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_about_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_about_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_account_box_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_account_box_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_account_box_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_account_box_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_add_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_brightness_4_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_brightness_4_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_chat_bubble_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_chat_bubble_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_chat_bubble_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_chat_bubble_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_class_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_class_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_clear_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_clear_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_delete_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_done_all_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_done_all_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_done_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_done_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_favorite_border_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_favorite_border_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_favorite_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_favorite_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_file_download_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_file_download_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_filter_list_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_filter_list_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_history_black_18dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_history_black_18dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_history_white_18dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_history_white_18dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_history_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_history_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_import_contacts_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_import_contacts_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_launch_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_launch_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_local_cafe_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_local_cafe_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_navigate_before_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_navigate_before_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_pause_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_play_arrow_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_replay_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_replay_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_save_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_save_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_search_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_settings_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_share_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_share_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_share_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_swap_vert_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_swap_vert_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_sync_white_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_sync_white_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_widgets_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable-xxhdpi/ic_widgets_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/cimoc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable/cimoc.jpg
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_dialog_download_top_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/drawable/ic_dialog_download_top_3.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/reader_progress.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
12 |
19 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_browser_filter.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_chapter.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
9 |
10 |
14 |
15 |
16 |
17 |
23 |
24 |
25 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
16 |
17 |
18 |
19 |
23 |
24 |
25 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_page_reader.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
12 |
13 |
18 |
19 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_part_favorite.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
13 |
14 |
15 |
16 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_reader_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
14 |
15 |
25 |
26 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_result.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_source_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
13 |
14 |
20 |
21 |
27 |
28 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_stream_reader.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
17 |
18 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_back_btn.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
18 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_drawer_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
20 |
21 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_night_mask.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_option.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_option_checkbox.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
17 |
18 |
25 |
26 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_progress_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_reader_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
22 |
23 |
31 |
32 |
39 |
40 |
48 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_seek_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/custom_toolbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_editor.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_progress.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
18 |
19 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_slider.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_comic.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
10 |
20 |
21 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_grid.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
16 |
17 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/fragment_recycler_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_chapter.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_dir.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_grid.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
14 |
15 |
23 |
24 |
31 |
32 |
41 |
42 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_loading.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_picture.xml:
--------------------------------------------------------------------------------
1 |
2 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_picture_stream.xml:
--------------------------------------------------------------------------------
1 |
2 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_select.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
21 |
22 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_select_mutil.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
21 |
22 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_source.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
13 |
14 |
20 |
21 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_spinner.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_tag.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/listview_adapter.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_chapter.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_comic.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_main.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_part_favorite.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_source.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_tag.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/menu_task.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_blue_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-hdpi/ic_launcher_blue_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_blue_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-mdpi/ic_launcher_blue_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_blue_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xhdpi/ic_launcher_blue_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_blue_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xxhdpi/ic_launcher_blue_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xxxhdpi/ic_launcher_blue_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/values-v19/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v29/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
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 | - 加载上一章
39 | - 加载下一章
40 | - 退出阅读器
41 | - 跳到第一页
42 | - 跳到最后一页
43 | - 切换屏幕方向
44 | - 切换阅读模式
45 | - 显示/隐藏进度条
46 | - 重新加载图片
47 | - 切换夜间模式
48 |
49 |
--------------------------------------------------------------------------------
/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #AAFAFAFA
4 |
5 | #2196F3
6 | #1976D2
7 |
8 | #455A64
9 | #607D8B
10 |
11 | #009688
12 | #00796B
13 |
14 | #9C27B0
15 | #7B1FA2
16 |
17 | #E91E63
18 | #C2185B
19 |
20 | #795548
21 | #5D4037
22 |
23 | #FF212121
24 |
25 | #00000000
26 |
27 | #FF000000
28 | #FFFFFFFF
29 | #B0000000
30 | #4F000000
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #2A96EE
4 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/file_paths_public.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/remote_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | first_open_msg
6 | Welcome to Cimoc!
7 |
8 |
9 | mh50_key_msg
10 | KA58ZAQ321oobbG8
11 |
12 |
13 | mh50_iv_msg
14 | A1B2C3DEF1G321o8
15 |
16 |
17 |
--------------------------------------------------------------------------------
/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 | mavenCentral()
7 | google()
8 | maven { url 'http://developer.huawei.com/repo/' }
9 |
10 | }
11 | dependencies {
12 | classpath 'com.android.tools.build:gradle:4.2.2'
13 | // NOTE: Do not place your application dependencies here; they belong
14 | // in the individual module build.gradle files
15 | classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'
16 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.10"
17 | classpath 'com.google.gms:google-services:4.3.8' // Google Services plugin
18 | classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
19 | classpath 'com.huawei.agconnect:agcp:1.2.1.301'
20 |
21 | }
22 | }
23 |
24 | allprojects {
25 | repositories {
26 | jcenter()
27 | mavenCentral()
28 | maven { url "https://maven.google.com" }
29 | google()
30 | maven { url "http://mirrors.tools.huawei.com/maven/" }
31 | maven { url 'http://developer.huawei.com/repo/' }
32 | }
33 | }
34 |
35 | task clean(type: Delete) {
36 | delete rootProject.buildDir
37 | }
38 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Project-wide Gradle settings.
2 | #
3 | # For more details on how to configure your build environment visit
4 | # http://www.gradle.org/docs/current/userguide/build_environment.html
5 | #
6 | # Specifies the JVM arguments used for the daemon process.
7 | # The setting is particularly useful for tweaking memory settings.
8 | # Default value: -Xmx1024m -XX:MaxPermSize=256m
9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
10 | #
11 | # When configured, Gradle will run in incubating parallel mode.
12 | # This option should only be used with decoupled projects. More details, visit
13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
14 | # org.gradle.parallel=true
15 | #Tue Mar 27 13:00:01 CST 2018
16 | android.enableJetifier=true
17 | android.useAndroidX=true
18 | org.gradle.jvmargs=-XX:MaxHeapSize=2048m -Xmx4608M
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Fri Mar 20 19:35:55 CST 2020
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-6.7.1-all.zip
7 |
--------------------------------------------------------------------------------
/hellovr10.jks:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/hellovr10.jks
--------------------------------------------------------------------------------
/ic_launcher_foreground.xcf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/ic_launcher_foreground.xcf
--------------------------------------------------------------------------------
/screenshot/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/screenshot/01.png
--------------------------------------------------------------------------------
/screenshot/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Haleydu/Cimoc/891eb3f7ce51a940fd144795798c03b8e2058c0f/screenshot/icon.png
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
3 | long beginOfSetting = System.currentTimeMillis()
4 | def beginOfConfig
5 | def configHasBegin = false
6 | def beginOfProjectConfig = new HashMap()
7 | def beginOfProjectExcute
8 |
9 | gradle.projectsLoaded {
10 | println '初始化阶段,耗时:' + (System.currentTimeMillis() - beginOfSetting) + 'ms'
11 | }
12 |
13 | gradle.beforeProject { project ->
14 | if (!configHasBegin) {
15 | configHasBegin = true
16 | beginOfConfig = System.currentTimeMillis()
17 | }
18 | beginOfProjectConfig.put(project, System.currentTimeMillis())
19 | }
20 |
21 | gradle.afterProject { project ->
22 | def begin = beginOfProjectConfig.get(project)
23 | println '配置阶段,' + project + '耗时:' + (System.currentTimeMillis() - begin) + 'ms'
24 | }
25 |
26 | gradle.taskGraph.whenReady {
27 | println '配置阶段,总共耗时:' + (System.currentTimeMillis() - beginOfConfig) + 'ms'
28 | beginOfProjectExcute = System.currentTimeMillis()
29 | }
30 |
31 | gradle.taskGraph.beforeTask { task ->
32 | task.doFirst {
33 | task.ext.beginOfTask = System.currentTimeMillis()
34 | }
35 | task.doLast {
36 | println '执行阶段,' + task + '耗时:' + (System.currentTimeMillis() - task.beginOfTask) + 'ms'
37 | }
38 | }
39 |
40 | gradle.buildFinished {
41 | println '执行阶段,耗时:' + (System.currentTimeMillis() - beginOfProjectExcute) + 'ms'
42 | }
43 |
44 |
45 | gradle.addBuildListener(new BuildListener() {
46 |
47 | void buildStarted(Gradle var1) {
48 | println '开始构建'
49 | }
50 |
51 | void settingsEvaluated(Settings var1) {
52 | // var1.gradle.rootProject 这里访问 Project 对象时会报错,
53 | // 因为还未完成 Project 的初始化。
54 | println 'settings 评估完成(settings.gradle 中代码执行完毕)'
55 | }
56 |
57 | void projectsLoaded(Gradle var1) {
58 | println '项目结构加载完成(初始化阶段结束)'
59 | println '初始化结束,可访问根项目:' + var1.gradle.rootProject
60 | }
61 |
62 | void projectsEvaluated(Gradle var1) {
63 | println '所有项目评估完成(配置阶段结束)'
64 | }
65 |
66 | void buildFinished(BuildResult var1) {
67 | println '构建结束 '
68 | }
69 | })
70 |
--------------------------------------------------------------------------------