Fix issue if stock didn't had a percentage change, then it wasn't included in the list
This commit is contained in:
parent
031eb30ee9
commit
c7223ed02b
5 changed files with 25 additions and 10 deletions
2
.idea/misc.xml
generated
2
.idea/misc.xml
generated
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
|
|
|||
|
|
@ -11,7 +11,6 @@ android {
|
|||
buildConfigField "String", "CONFIG_COMPANY_NAME_ID", "\"$COMPANY_NAME_ID\""
|
||||
buildConfigField "String", "CONFIG_COMPANY_TICKER_ID", "\"$COMPANY_TICKER_ID\""
|
||||
buildConfigField "String", "CONFIG_COMPANY_SHARE_PRICE_ID", "\"$COMPANY_SHARE_PRICE_ID\""
|
||||
buildConfigField "String", "CONFIG_COMPANY_CHANGE_PERCENT_ID", "\"$COMPANY_CHANGE_PERCENT_ID\""
|
||||
buildConfigField "String", "CONFIG_RECYCLER_ID1", "\"$RECYCLER_ID1\""
|
||||
buildConfigField "String", "CONFIG_RECYCLER_ID2", "\"$RECYCLER_ID2\""
|
||||
applicationId "org.fknives.rstocklist"
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ class ParseTicker {
|
|||
?.firstOrNull()
|
||||
?.trim()
|
||||
} else {
|
||||
System.err.println("couldnt process item: ${accessibilityNodeInfo.findAccessibilityNodeInfosByViewId(BuildConfig.CONFIG_COMPANY_TICKER_ID).map(AccessibilityNodeInfo::getText)}")
|
||||
null
|
||||
}
|
||||
|
||||
|
|
@ -26,8 +27,7 @@ class ParseTicker {
|
|||
BuildConfig.CONFIG_COMPANY_IMG_ID,
|
||||
BuildConfig.CONFIG_COMPANY_NAME_ID,
|
||||
BuildConfig.CONFIG_COMPANY_TICKER_ID,
|
||||
BuildConfig.CONFIG_COMPANY_SHARE_PRICE_ID,
|
||||
BuildConfig.CONFIG_COMPANY_CHANGE_PERCENT_ID
|
||||
BuildConfig.CONFIG_COMPANY_SHARE_PRICE_ID
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -24,10 +24,23 @@ class SyncService : AccessibilityService() {
|
|||
syncState = SyncState.WORKING
|
||||
traverseRecyclerView = object : TraverseRecyclerView(0) {
|
||||
val tickers = mutableListOf<String>()
|
||||
var foundRetried = 0
|
||||
|
||||
override fun found(accessibilityNodeInfo: AccessibilityNodeInfo) {
|
||||
parseTicker(accessibilityNodeInfo)?.let(tickers::add)
|
||||
listener?.onItemProcessed(tickers.size - 1)
|
||||
override fun found(accessibilityNodeInfo: AccessibilityNodeInfo): Boolean {
|
||||
val ticker = parseTicker(accessibilityNodeInfo)
|
||||
ticker?.let(tickers::add)
|
||||
if (ticker == null) {
|
||||
foundRetried++
|
||||
} else {
|
||||
foundRetried = 0
|
||||
tickers.add(ticker)
|
||||
listener?.onItemProcessed(tickers.size - 1)
|
||||
}
|
||||
if (foundRetried == 10) {
|
||||
foundRetried = 0
|
||||
return true
|
||||
}
|
||||
return ticker != null
|
||||
}
|
||||
|
||||
override fun finished() {
|
||||
|
|
|
|||
|
|
@ -32,13 +32,16 @@ abstract class TraverseRecyclerView(private var index: Int) {
|
|||
}
|
||||
}
|
||||
else -> {
|
||||
index++
|
||||
found(found)
|
||||
if (found(found)) {
|
||||
index++
|
||||
} else {
|
||||
recyclerView.scrollBackward()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected abstract fun found(accessibilityNodeInfo: AccessibilityNodeInfo)
|
||||
protected abstract fun found(accessibilityNodeInfo: AccessibilityNodeInfo): Boolean
|
||||
|
||||
protected abstract fun finished()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue