Skip to content

Commit

Permalink
Merge pull request #24 from MewX/v1.4
Browse files Browse the repository at this point in the history
v1.4 release
  • Loading branch information
MewX committed Jun 12, 2018
2 parents 20a6d93 + 093723e commit 1b0c76f
Show file tree
Hide file tree
Showing 41 changed files with 946 additions and 482 deletions.
5 changes: 5 additions & 0 deletions studio-android/LightNovelLibrary/.gitignore
Expand Up @@ -3,3 +3,8 @@
.idea/
.DS_Store
/build

# distributions
baidu/
coolapk/
alpha/
15 changes: 14 additions & 1 deletion studio-android/LightNovelLibrary/app/build.gradle
Expand Up @@ -9,16 +9,19 @@ android {
targetSdkVersion 27
versionCode 35
versionName "1.4"
testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
}
buildTypes {
debug {
debuggable true
minifyEnabled true
testProguardFile 'proguard-rules-tests.pro'
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
debuggable false
minifyEnabled true
testProguardFile 'proguard-rules-tests.pro'
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
Expand Down Expand Up @@ -64,7 +67,7 @@ dependencies {
implementation 'com.android.support:recyclerview-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
// external libraries
implementation project(':volley')
implementation project(':volley') // DO NOT CHANGE THIS, MODIFIED VERSION
implementation 'com.readystatesoftware.systembartint:systembartint:1.0.3'
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
Expand All @@ -77,4 +80,14 @@ dependencies {
implementation 'com.nononsenseapps:filepicker:2.2'
implementation 'com.umeng.sdk:common:1.5.0'
implementation 'com.umeng.sdk:analytics:7.5.0'

androidTestImplementation 'com.android.support:support-annotations:27.1.1'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'junit:junit:4.12'

testImplementation 'junit:junit:4.12'
testImplementation 'org.mockito:mockito-all:1.10.19'
testImplementation 'org.powermock:powermock-module-junit4:1.7.4'
testImplementation 'org.powermock:powermock-api-mockito:1.7.4'
}
15 changes: 15 additions & 0 deletions studio-android/LightNovelLibrary/app/proguard-rules-tests.pro
@@ -0,0 +1,15 @@
# Proguard rules that are applied to your test apk/code.
-ignorewarnings

-keepattributes *Annotation*

-dontnote junit.framework.**
-dontnote junit.runner.**

-dontwarn android.test.**
-dontwarn android.support.test.**
-dontwarn org.junit.**
-dontwarn org.hamcrest.**
-dontwarn com.squareup.javawriter.JavaWriter
# Uncomment this if you use Mockito
-dontwarn org.mockito.**
17 changes: 8 additions & 9 deletions studio-android/LightNovelLibrary/app/proguard-rules.pro
Expand Up @@ -17,7 +17,7 @@
#}

# general
-target 1.7
-target 1.8
-optimizationpasses 5
#-dontoptimize
-dontusemixedcaseclassnames
Expand Down Expand Up @@ -89,16 +89,15 @@
-keepclassmembers class * implements java.io.Serializable { *; }

# umeng self
-dontwarn com.umeng.**
-keep public class * extends com.umeng.**
-keep class com.umeng.** { *; }
-keep class com.alimama.** { *; }
-keep public class com.umeng.fb.ui.ThreadView { }

# umeng reflection
-keep class com.umeng.** {*;}
-keepclassmembers class * {
public <init>(org.json.JSONObject);
public <init> (org.json.JSONObject);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

-keep public class org.mewx.wenku8.R$* {
public static final int *;
}
Expand Down
@@ -0,0 +1,66 @@
package org.mewx.wenku8.global.api;

import android.support.test.filters.SmallTest;

import org.junit.Assert;
import org.junit.Test;

import java.util.GregorianCalendar;

@SmallTest
public class Wenku8ParserTest {
private final String REVIEW_LIST_XML = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
"<metadata>\n" +
"<page num='12'/>\n" +
"\n" +
"<item rid='79800' posttime='20130525171631' replies='1' replytime='20130528184916'>\n" +
"<user uid='81669'><![CDATA[老衲0轻音]]></user>\n" +
"<content><![CDATA[前排……]]></content>\n" +
"</item>\n" +
"\n" +
"<item rid='79826' posttime='20130525232002' replies='4' replytime='20130527234259'>\n" +
"<user uid='34924'><![CDATA[冒险奏鸣]]></user>\n" +
"<content><![CDATA[有种神曲奏界的既视感]]></content>\n" +
"</item>\n" +
"\n" +
"</metadata>";

// TODO: more tests

@Test
public void testParseReviewList() {
ReviewList reviewList = new ReviewList();
Wenku8Parser.parseReviewList(reviewList, REVIEW_LIST_XML);

Assert.assertEquals(reviewList.getTotalPage(), 12);
Assert.assertEquals(reviewList.getCurrentPage(), 1);
Assert.assertEquals(reviewList.getList().size(), 2);
ReviewList.Review review = reviewList.getList().get(0);
Assert.assertEquals(review.getRid(), 79800);
Assert.assertEquals(review.getPostTime().getTime(),
new GregorianCalendar(2013, 5, 25, 17, 16, 31).getTime().getTime());
Assert.assertEquals(review.getNoReplies(), 1);
Assert.assertEquals(review.getLastReplyTime().getTime(),
new GregorianCalendar(2013, 5, 28, 18, 49, 16).getTime().getTime());
Assert.assertEquals(review.getUid(), 81669);
Assert.assertEquals(review.getUserName(), "老衲0轻音");
Assert.assertEquals(review.getTitle(), "前排……");

review = reviewList.getList().get(1);
Assert.assertEquals(review.getRid(), 79826);
Assert.assertEquals(review.getPostTime().getTime(),
new GregorianCalendar(2013, 5, 25, 23, 20, 2).getTime().getTime());
Assert.assertEquals(review.getNoReplies(), 4);
Assert.assertEquals(review.getLastReplyTime().getTime(),
new GregorianCalendar(2013, 5, 27, 23, 42, 59).getTime().getTime());
Assert.assertEquals(review.getUid(), 34924);
Assert.assertEquals(review.getUserName(), "冒险奏鸣");
Assert.assertEquals(review.getTitle(), "有种神曲奏界的既视感");
}


@Test
public void testParseReviewListPageTwo() {
// TODO
}
}
Expand Up @@ -12,6 +12,7 @@
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
Expand All @@ -31,14 +32,6 @@
<!-- UMeng Mob Statistics -->
<meta-data android:value="55220944fd98c5d81f000a71" android:name="UMENG_APPKEY"/>
<meta-data android:value="${UMENG_CHANNEL_NAME}" android:name="UMENG_CHANNEL"/>
<service
android:name="com.umeng.update.net.DownloadingService"
android:process=":DownloadingService" >
</service>
<activity
android:name="com.umeng.update.UpdateDialogActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar" >
</activity>

<!-- Activity list -->
<activity
Expand Down
Expand Up @@ -29,7 +29,7 @@ protected void onCreate(Bundle savedInstanceState) {
// set indicator enable
Toolbar mToolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
setSupportActionBar(mToolbar);
final Drawable upArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_material);
final Drawable upArrow = getResources().getDrawable(R.drawable.ic_svg_back);
if(getSupportActionBar() != null && upArrow != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);
Expand Down

0 comments on commit 1b0c76f

Please sign in to comment.