Skip to content

Commit

Permalink
1. use indent 2
Browse files Browse the repository at this point in the history
2. remove 3rd library searchableSpinner
3. fix some bug when parse html
4. try room again, failed again
  • Loading branch information
fan123199 committed Aug 2, 2018
1 parent 140eb2a commit c61a9e1
Show file tree
Hide file tree
Showing 26 changed files with 287 additions and 263 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
steps:
- checkout
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
key: jars-{{ checksum "build.gradle.kts" }}-{{ checksum "app/build.gradle.kts" }}
# - run:
# name: Chmod permissions #if permission for Gradlew Dependencies fail, use this.
# command: sudo chmod +x ./gradlew
Expand All @@ -19,7 +19,7 @@ jobs:
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
key: jars-{{ checksum "build.gradle.kts" }}-{{ checksum "app/build.gradle.kts" }}
- run:
name: Run Tests
command: ./gradlew lint test
Expand Down
1 change: 0 additions & 1 deletion .idea/gradle.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 3 additions & 4 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ android {
minSdkVersion 21
targetSdkVersion 28
versionCode 25
versionName "2.3.2"
versionName "2.3.3"
}
lintOptions {
checkReleaseBuilds false
Expand Down Expand Up @@ -42,8 +42,8 @@ android {
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}

Expand All @@ -63,7 +63,6 @@ dependencies {
implementation 'com.squareup.okhttp3:logging-interceptor:3.9.1'
//test end
//local start
implementation project(':searchablespinnerlibrary')
// implementation fileTree(include: ['*.jar'], dir: 'libs')
//local end
//kotlin start
Expand Down
68 changes: 34 additions & 34 deletions app/src/main/java/im/fdx/v2ex/MyApp.kt
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import im.fdx.v2ex.utils.Keys
import im.fdx.v2ex.utils.extensions.logd

val pref: SharedPreferences by lazy {
MyApp.get().mPrefs
MyApp.get().mPrefs
}

/**
Expand All @@ -20,43 +20,43 @@ val pref: SharedPreferences by lazy {
*/
class MyApp : Application() {

companion object {
private lateinit var INSTANCE: MyApp
fun get(): MyApp {
return INSTANCE
}
companion object {
private lateinit var INSTANCE: MyApp
fun get(): MyApp {
return INSTANCE
}
}

internal lateinit var mPrefs: SharedPreferences
internal var isLogin = false
internal lateinit var mPrefs: SharedPreferences
internal var isLogin = false

internal var curTextSize = 0
internal var curTextSize = 0


fun setLogin(login: Boolean) {
isLogin = login
if (login) {
mPrefs.edit {
putBoolean(Keys.PREF_KEY_IS_LOGIN, true)
}
} else {
mPrefs.edit {
remove(Keys.PREF_KEY_IS_LOGIN)
}
}
}

override fun onCreate() {
super.onCreate()
INSTANCE = this
mPrefs = PreferenceManager.getDefaultSharedPreferences(this)
PreferenceManager.setDefaultValues(this, R.xml.preference, false)
setDefaultNightMode(if (mPrefs.getBoolean("NIGHT_MODE", false)) MODE_NIGHT_YES else MODE_NIGHT_NO)
XLog.init(when {
BuildConfig.DEBUG -> LogLevel.ALL
else -> LogLevel.NONE
})
isLogin = mPrefs.getBoolean(Keys.PREF_KEY_IS_LOGIN, false)
logd("onCreate\nisLogin:$isLogin")
fun setLogin(login: Boolean) {
isLogin = login
if (login) {
mPrefs.edit {
putBoolean(Keys.PREF_KEY_IS_LOGIN, true)
}
} else {
mPrefs.edit {
remove(Keys.PREF_KEY_IS_LOGIN)
}
}
}

override fun onCreate() {
super.onCreate()
INSTANCE = this
mPrefs = PreferenceManager.getDefaultSharedPreferences(this)
PreferenceManager.setDefaultValues(this, R.xml.preference, false)
setDefaultNightMode(if (mPrefs.getBoolean("NIGHT_MODE", false)) MODE_NIGHT_YES else MODE_NIGHT_NO)
XLog.init(when {
BuildConfig.DEBUG -> LogLevel.ALL
else -> LogLevel.NONE
})
isLogin = mPrefs.getBoolean(Keys.PREF_KEY_IS_LOGIN, false)
logd("onCreate\nisLogin:$isLogin")
}
}
5 changes: 4 additions & 1 deletion app/src/main/java/im/fdx/v2ex/database/AppDatabase.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,12 @@ import android.arch.persistence.room.Database
import android.arch.persistence.room.RoomDatabase
import im.fdx.v2ex.ui.main.Topic
import im.fdx.v2ex.ui.main.TopicDao
import im.fdx.v2ex.ui.node.Node
import im.fdx.v2ex.ui.node.NodeDao


@Database(entities = [Topic::class], version = 1, exportSchema = false)
@Database(entities = [Topic::class, Node::class], version = 2, exportSchema = false)
abstract class AppDatabase : RoomDatabase() {
abstract fun topicDao(): TopicDao
abstract fun nodeDao(): NodeDao
}
5 changes: 3 additions & 2 deletions app/src/main/java/im/fdx/v2ex/database/DbHelper.kt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import im.fdx.v2ex.MyApp

object DbHelper {

var db = Room.databaseBuilder(MyApp.get(),
AppDatabase::class.java, "v2ex.db").build()
var db = Room.databaseBuilder(MyApp.get(), AppDatabase::class.java, "v2ex.db")
.fallbackToDestructiveMigration()
.build()
}
1 change: 1 addition & 0 deletions app/src/main/java/im/fdx/v2ex/network/NetManager.kt
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ object NetManager {
@Deprecated("不是实时的")
const val API_REPLIES = "$HTTPS_V2EX_BASE/api/replies/show.json"

@Deprecated("不用API,用html解析。虽慢,但统一")
const val URL_ALL_NODE = "$HTTPS_V2EX_BASE/api/nodes/all.json"

const val URL_ALL_NODE_WEB = "$HTTPS_V2EX_BASE/planes"
Expand Down
19 changes: 9 additions & 10 deletions app/src/main/java/im/fdx/v2ex/network/Parser.kt
Original file line number Diff line number Diff line change
Expand Up @@ -126,26 +126,23 @@ class Parser(private val htmlStr: String) {
}


fun getAllNode(): MutableMap<String, MutableList<Node>> {
val allNodes = mutableMapOf<String, MutableList<Node>>()

fun getAllNode(): MutableList<Node> {
val allNodes = mutableListOf<Node>()
val body = doc.body()
val main = body.getElementsByAttributeValue("id", "Main").getOrNull(0)
val boxes: Elements? = main?.getElementsByClass("box")

boxes?.filterIndexed { index, _ -> index > 0 }?.forEach {
val title = it.getElementsByClass("header").first().ownText()
val nodes = mutableListOf<Node>()
val nodeElements = it.getElementsByClass("inner").first().getElementsByClass("item_node")
for (item in nodeElements) {
val node = Node()
val name = item.attr("href").replace("/go/", "")
node.name = name
node.title = item.text()
nodes.add(node)
node.category = title
allNodes.add(node)
}

allNodes[title] = nodes
}
return allNodes
}
Expand Down Expand Up @@ -329,9 +326,11 @@ class Parser(private val htmlStr: String) {
topicModel.comments = comments.toMutableList()


val preElems = contentElementOrg.select("pre")
for (elem in preElems) {
elem.html(elem.html().replace("\n", "<br/>")/*.replace(" ", "&nbsp;")*/)
val preElems = contentElementOrg?.select("pre")
if (preElems != null) {
for (elem in preElems) {
elem.html(elem.html().replace("\n", "<br/>")/*.replace(" ", "&nbsp;")*/)
}
}

val content = contentElementOrg?.text() ?: ""
Expand Down
4 changes: 3 additions & 1 deletion app/src/main/java/im/fdx/v2ex/ui/main/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,9 @@ class MainActivity : BaseActivity(), NavigationView.OnNavigationItemSelectedList
navigationView = findViewById(R.id.nav_view)
navigationView.setNavigationItemSelectedListener(this)
fab = findViewById(R.id.fab_main)
fab.setOnClickListener { startActivity(Intent(this@MainActivity, NewTopicActivity::class.java)) }
fab.setOnClickListener {
startActivity<NewTopicActivity>()
}
val ivMode = navigationView.getHeaderView(0).findViewById<ImageView>(R.id.iv_night_mode)

ivMode.setOnClickListener {
Expand Down
Loading

0 comments on commit c61a9e1

Please sign in to comment.