{
10 | public ApplicationTest() {
11 | super(Application.class);
12 | }
13 | }
--------------------------------------------------------------------------------
/app/src/androidTest/java/com/hippo/ehviewer/CookieDBTest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer;
18 |
19 | import junit.framework.TestCase;
20 |
21 | public class CookieDBTest extends TestCase {
22 | }
23 |
--------------------------------------------------------------------------------
/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
22 |
23 |
24 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/debug/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/debug/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/debug/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/debug/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/debug/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/debug/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/debug/res/values-es/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | EhViewer Debug
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/debug/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | EhViewer Debug
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/debug/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | EhViewer Debug
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/debug/res/values-zh-rCN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | EhViewer Debug
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/debug/res/values-zh-rHK/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | EhViewer Debug
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/debug/res/values-zh-rTW/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | EhViewer Debug
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/debug/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | EhViewer Debug
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/annotation/Implemented.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.annotation;
18 |
19 | import java.lang.annotation.ElementType;
20 | import java.lang.annotation.Retention;
21 | import java.lang.annotation.RetentionPolicy;
22 | import java.lang.annotation.Target;
23 |
24 | @Retention(RetentionPolicy.SOURCE)
25 | @Target({ElementType.METHOD})
26 | public @interface Implemented {
27 | Class value();
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/Analytics.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer;
18 |
19 | import android.content.Context;
20 |
21 | import com.google.firebase.analytics.FirebaseAnalytics;
22 |
23 | public final class Analytics {
24 |
25 | private Analytics() {}
26 |
27 | public static void start(Context context) {
28 | FirebaseAnalytics.getInstance(context).setUserId(Settings.getUserID());
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/GetLocale.java:
--------------------------------------------------------------------------------
1 | package com.hippo.ehviewer;
2 |
3 | import android.content.res.Resources;
4 |
5 | import java.util.Locale;
6 |
7 | public class GetLocale {
8 | public static Locale getLocale() {
9 | Locale locale = null;
10 | String language = Settings.getAppLanguage();
11 | if (language != null && !language.equals("system")) {
12 | String[] split = language.split("-");
13 | switch (split.length) {
14 | case 1:
15 | locale = new Locale(split[0]);
16 | break;
17 | case 2:
18 | locale = new Locale(split[0], split[1]);
19 | break;
20 | case 3:
21 | locale = new Locale(split[0], split[1], split[2]);
22 | break;
23 | }
24 | }
25 | if (locale == null) {
26 | locale = Resources.getSystem().getConfiguration().locale;
27 | }
28 |
29 | return locale;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/GetResponseData.java:
--------------------------------------------------------------------------------
1 | package com.hippo.ehviewer;
2 |
3 | import okhttp3.Response;
4 | import okhttp3.ResponseBody;
5 |
6 | public class GetResponseData {
7 | public static String getResponseData(Response response) {
8 | String data = null;
9 | ResponseBody body = response.body();
10 | try {
11 | if (body != null) {
12 | data = body.string();
13 | }
14 | } catch (Exception e) {
15 | e.printStackTrace();
16 | }
17 | return data;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/GetText.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer;
18 |
19 | import android.content.Context;
20 | import android.content.res.Resources;
21 | import android.support.annotation.NonNull;
22 | import android.support.annotation.StringRes;
23 |
24 | public class GetText {
25 |
26 | private static Resources sResources;
27 |
28 | public static void initialize(Context context) {
29 | sResources = context.getApplicationContext().getResources();
30 | }
31 |
32 | @NonNull
33 | public static String getString(@StringRes int id) {
34 | return sResources.getString(id);
35 | }
36 |
37 | @NonNull
38 | public static String getString(@StringRes int id, Object... formatArgs) {
39 | return sResources.getString(id, formatArgs);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/EhRequestBuilder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client;
18 |
19 | import com.hippo.ehviewer.Settings;
20 | import com.hippo.okhttp.ChromeRequestBuilder;
21 |
22 | import java.net.MalformedURLException;
23 |
24 | public class EhRequestBuilder extends ChromeRequestBuilder {
25 |
26 | public EhRequestBuilder(String url) throws MalformedURLException {
27 | this(url, Settings.getEhConfig());
28 | }
29 |
30 | public EhRequestBuilder(String url, EhConfig ehConfig) throws MalformedURLException {
31 | super(url);
32 | tag(ehConfig);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/data/PreviewSet.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client.data;
18 |
19 | import android.os.Parcelable;
20 |
21 | import com.hippo.widget.LoadImageView;
22 |
23 | public abstract class PreviewSet implements Parcelable {
24 |
25 | public abstract int size();
26 |
27 | public abstract int getPosition(int index);
28 |
29 | public abstract String getPageUrlAt(int index);
30 |
31 | public abstract GalleryPreview getGalleryPreview(long gid, int index);
32 |
33 | public abstract void load(LoadImageView view, long gid, int index);
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/exception/CancelledException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client.exception;
18 |
19 | public class CancelledException extends Exception {
20 |
21 | public CancelledException() {
22 | super("CANCELED");
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/exception/EhException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client.exception;
18 |
19 | public class EhException extends Exception {
20 |
21 | public EhException(String detailMessage) {
22 | super(detailMessage);
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/exception/Image509Exception.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client.exception;
18 |
19 | public class Image509Exception extends EhException {
20 |
21 | public Image509Exception() {
22 | super("509");
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/exception/NoHAtHClientException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client.exception;
18 |
19 | public class NoHAtHClientException extends EhException {
20 |
21 | public NoHAtHClientException(String detailMessage) {
22 | super(detailMessage);
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/exception/OffensiveException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client.exception;
18 |
19 | /**
20 | * It is an exception for get offensive tip for g.e-hentai.org
21 | */
22 | public class OffensiveException extends EhException {
23 |
24 | public OffensiveException() {
25 | super("OFFENSIVE");
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/exception/ParseException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client.exception;
18 |
19 | public class ParseException extends EhException {
20 |
21 | private String mBody;
22 |
23 | public ParseException(String detailMessage, String body) {
24 | super(detailMessage);
25 | mBody = body;
26 | }
27 |
28 | public String getBody() {
29 | return mBody;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/client/exception/PiningException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.client.exception;
18 |
19 | public class PiningException extends EhException {
20 |
21 | public PiningException() {
22 | super("pining for the fjords");
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/ui/annotation/DrawerLifeCircle.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.ui.annotation;
18 |
19 | import android.app.Fragment;
20 | import android.os.Bundle;
21 | import android.view.LayoutInflater;
22 | import android.view.ViewGroup;
23 |
24 | import java.lang.annotation.ElementType;
25 | import java.lang.annotation.Retention;
26 | import java.lang.annotation.RetentionPolicy;
27 | import java.lang.annotation.Target;
28 |
29 | /**
30 | * Created in {@link Fragment#onCreateView(LayoutInflater, ViewGroup, Bundle)},
31 | * destroyed in {@link Fragment#onDestroyView()}.
32 | */
33 | @Retention(RetentionPolicy.SOURCE)
34 | @Target({ElementType.FIELD})
35 | public @interface DrawerLifeCircle {
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/ui/annotation/ViewLifeCircle.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.ui.annotation;
18 |
19 | import android.app.Fragment;
20 | import android.os.Bundle;
21 | import android.view.LayoutInflater;
22 | import android.view.ViewGroup;
23 |
24 | import java.lang.annotation.ElementType;
25 | import java.lang.annotation.Retention;
26 | import java.lang.annotation.RetentionPolicy;
27 | import java.lang.annotation.Target;
28 |
29 | /**
30 | * Created in {@link Fragment#onCreateView(LayoutInflater, ViewGroup, Bundle)},
31 | * destroyed in {@link Fragment#onDestroyView()}.
32 | */
33 | @Retention(RetentionPolicy.SOURCE)
34 | @Target({ElementType.FIELD})
35 | public @interface ViewLifeCircle {
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/ui/annotation/WholeLifeCircle.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.ui.annotation;
18 |
19 | import android.app.Activity;
20 | import android.app.Fragment;
21 | import android.os.Bundle;
22 |
23 | import java.lang.annotation.ElementType;
24 | import java.lang.annotation.Retention;
25 | import java.lang.annotation.RetentionPolicy;
26 | import java.lang.annotation.Target;
27 |
28 | /**
29 | * Created in {@link Fragment#onCreate(Bundle)} or {@link Activity#onCreate(Bundle)},
30 | * destroyed in {@link Fragment#onDestroy()} or {@link Activity#onDestroy()}.
31 | */
32 | @Retention(RetentionPolicy.SOURCE)
33 | @Target({ElementType.FIELD})
34 | public @interface WholeLifeCircle {
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/ui/fragment/ReadFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.ui.fragment;
18 |
19 | import android.os.Bundle;
20 | import android.preference.PreferenceFragment;
21 |
22 | import com.hippo.ehviewer.R;
23 |
24 | public class ReadFragment extends PreferenceFragment {
25 |
26 | @Override
27 | public void onCreate(Bundle savedInstanceState) {
28 | super.onCreate(savedInstanceState);
29 | addPreferencesFromResource(R.xml.read_settings);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/ehviewer/ui/scene/TransitionNameFactory.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.ui.scene;
18 |
19 | public final class TransitionNameFactory {
20 |
21 | public static String getThumbTransitionName(long gid) {
22 | return "thumb:" + gid;
23 | }
24 |
25 | public static String getTitleTransitionName(long gid) {
26 | return "title:" + gid;
27 | }
28 |
29 | public static String getUploaderTransitionName(long gid) {
30 | return "uploader:" + gid;
31 | }
32 |
33 | public static String getCategoryTransitionName(long gid) {
34 | return "category:" + gid;
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/network/Network.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2014 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.network;
18 |
19 | import android.content.Context;
20 | import android.net.ConnectivityManager;
21 | import android.net.NetworkInfo;
22 |
23 | public final class Network {
24 | private Network() {}
25 |
26 | public static int getActiveNetworkType(Context context) {
27 | ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
28 | NetworkInfo activeNetwork;
29 | if (cm != null && (activeNetwork = cm.getActiveNetworkInfo()) != null) {
30 | return activeNetwork.getType();
31 | } else {
32 | return -1;
33 | }
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/okhttp/ChromeRequestBuilder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.okhttp;
18 |
19 | import java.net.MalformedURLException;
20 | import java.net.URL;
21 |
22 | import okhttp3.Request;
23 |
24 | public class ChromeRequestBuilder extends Request.Builder {
25 |
26 | private static final String CHROME_USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36";
27 |
28 | public ChromeRequestBuilder(String url) throws MalformedURLException {
29 | url(new URL(url));
30 | addHeader("User-Agent", CHROME_USER_AGENT);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/reveal/Reveal.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.reveal;
18 |
19 | public interface Reveal {
20 |
21 | void setRevealEnable(boolean enable);
22 |
23 | void setReveal(int centerX, int centerY, float radius);
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/scene/TransitionHelper.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.scene;
18 |
19 | import android.content.Context;
20 | import android.support.v4.app.Fragment;
21 | import android.support.v4.app.FragmentTransaction;
22 |
23 | public interface TransitionHelper {
24 |
25 | boolean onTransition(Context context, FragmentTransaction transaction, Fragment exit, Fragment enter);
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/util/DrawableManager.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.util;
18 |
19 | import android.annotation.SuppressLint;
20 | import android.content.Context;
21 | import android.graphics.drawable.Drawable;
22 | import android.support.annotation.DrawableRes;
23 | import android.support.annotation.NonNull;
24 | import android.support.v7.widget.AppCompatDrawableManager;
25 |
26 | public final class DrawableManager {
27 |
28 | @SuppressLint("RestrictedApi")
29 | private static final AppCompatDrawableManager sManager = AppCompatDrawableManager.get();
30 |
31 | @SuppressLint("RestrictedApi")
32 | public static Drawable getDrawable(@NonNull Context context, @DrawableRes int resId) {
33 | return sManager.getDrawable(context, resId);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/util/HashCodeUtils.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2017 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.util;
18 | /*
19 | * Created by Hippo on 2017/9/4.
20 | */
21 |
22 | public class HashCodeUtils {
23 |
24 | private static final int X = 31;
25 |
26 | /**
27 | * {@code
28 | * args[0].hashCode()*31^(n-1) + args[1].hashCode()*31^(n-2) + ... + args[n-1].hashCode()
29 | * }
30 | * Returns 0 if {@code args == null}.
31 | */
32 | public static int hashCode(Object... args) {
33 | if (args == null) {
34 | return 0;
35 | }
36 | int hash = 0;
37 | for (Object o: args) {
38 | hash = X * hash + (o != null ? o.hashCode() : 0);
39 | }
40 | return hash;
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/app/src/main/java/com/hippo/util/UserAgentUtil.kt:
--------------------------------------------------------------------------------
1 | package com.hippo.util
2 |
3 | import android.content.Context
4 | import android.webkit.WebSettings
5 |
6 | object UserAgentUtil {
7 |
8 | fun getUserAgent(context: Context): String {
9 | var userAgent = ""
10 | userAgent = try {
11 | WebSettings.getDefaultUserAgent(context)
12 | } catch (e: Exception) {
13 | System.getProperty("http.agent")
14 | }
15 |
16 | val sb = StringBuilder()
17 | var i = 0
18 | val length = userAgent.length
19 | while (i < length) {
20 | val c = userAgent[i]
21 | if (c <= '\u001f' || c >= '\u007f') {
22 | sb.append(String.format("\\u%04x", c.toInt()))
23 | } else {
24 | sb.append(c)
25 | }
26 | i++
27 | }
28 | return sb.toString()
29 | }
30 | }
--------------------------------------------------------------------------------
/app/src/main/res/anim/accelerate_quart.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/decelerate_quart.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/decelerate_quint.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/decelerate_terz.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/scene_close_enter.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/scene_open_exit.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/color/preference_header_title_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/color/primary_text_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/color/primary_text_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/color/secondary_text_dark.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/color/secondary_text_light.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/color/selectable_item_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/color/selectable_item_text.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/drawer_shadow_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-hdpi/drawer_shadow_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/drawer_shadow_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-hdpi/drawer_shadow_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_fp_40px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-hdpi/ic_fp_40px.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_pause_x24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-hdpi/ic_pause_x24.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/ic_stat_alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-hdpi/ic_stat_alert.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/image_failed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-hdpi/image_failed.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-hdpi/sadpanda_low_poly.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-hdpi/sadpanda_low_poly.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/drawer_shadow_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-mdpi/drawer_shadow_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/drawer_shadow_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-mdpi/drawer_shadow_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_fingerprint_error.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_fingerprint_success.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
25 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_fp_40px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-mdpi/ic_fp_40px.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_pause_x24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-mdpi/ic_pause_x24.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/ic_stat_alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-mdpi/ic_stat_alert.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/image_failed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-mdpi/image_failed.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-mdpi/sadpanda_low_poly.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-mdpi/sadpanda_low_poly.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v25/ic_shortcut_start.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
11 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v25/ic_shortcut_stop.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
11 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v26/ic_shortcut_start.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v26/ic_shortcut_stop.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/drawer_shadow_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xhdpi/drawer_shadow_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/drawer_shadow_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xhdpi/drawer_shadow_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_fp_40px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xhdpi/ic_fp_40px.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_pause_x24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xhdpi/ic_pause_x24.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_stat_alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xhdpi/ic_stat_alert.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/image_failed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xhdpi/image_failed.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/sadpanda_low_poly.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xhdpi/sadpanda_low_poly.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/drawer_shadow_left.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/drawer_shadow_left.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/drawer_shadow_right.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/drawer_shadow_right.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_fp_40px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/ic_fp_40px.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_pause_x24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/ic_pause_x24.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/ic_stat_alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/ic_stat_alert.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/image_failed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/image_failed.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/sadpanda_low_poly.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/sadpanda_low_poly.webp
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/shadow_2dp.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/shadow_2dp.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xxhdpi/shadow_8dp.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/drawable-xxhdpi/shadow_8dp.9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/big_download.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/big_filter.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/big_history.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/big_label.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/big_search.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/big_weird_face.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/divider_gallery_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
23 |
24 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
26 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_launcher_foreground.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
22 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_more_vert_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_pause_108dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/ic_play_arrow_108dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
10 |
11 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/preference_header_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/selectable_item_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/selectable_item_foreground.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
22 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/shadow_top.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
22 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/spacer_keyline.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
21 |
22 |
25 |
26 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/tile_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_adb_primary_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_alert_red_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_archive_primary_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_arrow_left_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_book_open_primary_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_bug_black_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_chart_accent_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_check_all_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_check_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_clear_all_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_close_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_cookie_brown_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_delete_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_delete_red_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_delete_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_dots_vertical_secondary_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_download_black_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_download_box_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_download_primary_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_file_find_primary_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_fire_black_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_folder_move_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_go_to_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_heart_black_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_heart_box_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_heart_outline_primary_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_heart_primary_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_help_circle_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_history_black_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_homepage_black_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_info_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_info_outline_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_info_primary_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_magnify_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_magnify_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_pause_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_pause_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_play_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_play_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_plus_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_refresh_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_reply_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_sad_panda_primary_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_sec_primary_x24.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_send_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_settings_black_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_settings_dark_x24.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_share_primary_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_similar_primary_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_slider_bubble.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_star_half_x16.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_star_outline_x16.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_star_x16.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_thumb_up_primary_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/v_utorrent_primary_x48.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_toolbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_u_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
24 |
25 |
29 |
30 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/button_guide.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/dialog_recycler_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/gallery_detail_comments.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
26 |
27 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/gallery_detail_progress.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
24 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/gallery_detail_tags.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
25 |
26 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/gallery_tag_group.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_cute_spinner_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_dir_explorer.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_filter_header.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_gallery_tag.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_simple_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/preference_widget_fixed_switch.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/scene_gallery_info.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
25 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/scene_gallery_previews.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/search_advance.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/search_image.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/widget_gallery_guide_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/activity_filter.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/activity_u_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/download_label_option.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/drawer_download.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/drawer_favorites.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/drawer_gallery_list.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/quicksearch_option.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/scene_download.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
35 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/scene_download_label.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/scene_gallery_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/scene_gallery_previews.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
29 |
--------------------------------------------------------------------------------
/app/src/main/res/menu/scene_history.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
29 |
--------------------------------------------------------------------------------
/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 |
6 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/app/src/main/res/transition/trans_move.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
--------------------------------------------------------------------------------
/app/src/main/res/values-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | 72dp
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values-large/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | 56dp
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values-night/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #ffffffff
4 |
5 | @color/grey_hex_1f
6 | @color/grey_hex_15
7 |
8 | #61ffffff
9 | #de000000
10 | #36ffffff
11 | #24000000
12 |
13 | @color/background_dark
14 | @color/grey_900
15 | #24ffffff
16 | @color/grey_hex_1f
17 |
18 | @color/grey_300
19 |
20 | @color/grey_400
21 | @android:color/white
22 |
23 | #2fffffff
24 |
25 | #8affffff
26 |
--------------------------------------------------------------------------------
/app/src/main/res/values-night/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw720dp-land/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | 76dp
22 |
23 | 76dp
24 |
25 |
26 | 76dp
27 |
28 |
29 | 76dp
30 |
31 |
32 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw720dp-w1280dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | 64dp
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values-sw720dp/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v19/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
25 |
26 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/values/bools.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | false
21 | true
22 | true
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values/drawables.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | @color/grey_200
20 | @android:color/transparent
21 | #7f9c27b0
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/values/ids.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/backup_scheme.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/filepaths.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/privacy_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
11 |
12 |
18 |
19 |
23 |
24 |
30 |
31 |
--------------------------------------------------------------------------------
/app/update.json:
--------------------------------------------------------------------------------
1 | {"info": "General update", "size": 4969628, "url": "https://github.com/onlymash/EhViewer/releases/download/1.0.35/EhViewer_1.0.35.apk", "version_code": 88, "version_name": "1.0.35"}
2 |
--------------------------------------------------------------------------------
/app/update_beta.json:
--------------------------------------------------------------------------------
1 | {"info": "General update", "size": 4969628, "url": "https://github.com/onlymash/EhViewer/releases/download/1.0.35/EhViewer_1.0.35.apk", "version_code": 88, "version_name": "1.0.35"}
2 |
--------------------------------------------------------------------------------
/art/launcher_icon-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/art/launcher_icon-web.png
--------------------------------------------------------------------------------
/art/screenshot-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/art/screenshot-01.png
--------------------------------------------------------------------------------
/art/screenshot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/art/screenshot.jpg
--------------------------------------------------------------------------------
/daogenerator/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 |
--------------------------------------------------------------------------------
/daogenerator/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | apply plugin: 'java'
18 |
19 | task executeDaoGenerator(type:JavaExec) {
20 | main = 'com.hippo.ehviewer.daogenerator.Main'
21 | classpath = sourceSets.main.runtimeClasspath
22 | }
23 |
24 | dependencies {
25 | compile fileTree(dir: 'libs', include: ['*.jar'])
26 | compile 'org.greenrobot:greendao-generator:2.2.0'
27 | compile 'org.jboss.forge.roaster:roaster-api:2.20.1.Final'
28 | compile 'org.jboss.forge.roaster:roaster-jdt:2.20.1.Final'
29 | }
30 |
--------------------------------------------------------------------------------
/daogenerator/src/main/java/com/hippo/ehviewer/daogenerator/Main.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.daogenerator;
18 |
19 | public class Main {
20 |
21 | public static void main(String args[]) throws Exception {
22 | EhDaoGenerator.generate();
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/daogenerator/src/main/java/com/hippo/ehviewer/daogenerator/Utilities.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2016 Hippo Seven
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.hippo.ehviewer.daogenerator;
18 |
19 | import java.io.File;
20 |
21 | public final class Utilities {
22 |
23 | public static boolean deleteContents(File dir) {
24 | File[] files = dir.listFiles();
25 | boolean success = true;
26 | if (files != null) {
27 | for (File file : files) {
28 | if (file.isDirectory()) {
29 | success &= deleteContents(file);
30 | }
31 | if (!file.delete()) {
32 | success = false;
33 | }
34 | }
35 | }
36 | return success;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | # Project-wide Gradle settings.
2 | # IDE (e.g. Android Studio) users:
3 | # Gradle settings configured through the IDE *will override*
4 | # any settings specified in this file.
5 | # For more details on how to configure your build environment visit
6 | # http://www.gradle.org/docs/current/userguide/build_environment.html
7 | # Specifies the JVM arguments used for the daemon process.
8 | # The setting is particularly useful for tweaking memory settings.
9 | org.gradle.jvmargs=-Xmx1024m
10 | # When configured, Gradle will run in incubating parallel mode.
11 | # This option should only be used with decoupled projects. More details, visit
12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
13 | # org.gradle.parallel=true
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/onlymash/EhViewer/65d588d710f0ee9ff0cc9fa0e9dd810ea4d77f17/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue Mar 27 10:11:31 CST 2018
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-4.6-all.zip
7 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app', ':daogenerator'
2 |
--------------------------------------------------------------------------------