Skip to content

Commit

Permalink
Finish Release-2.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
spongebobrf committed Feb 17, 2018
2 parents a39f3f0 + 92f68bd commit 5274329
Show file tree
Hide file tree
Showing 9 changed files with 173 additions and 178 deletions.
30 changes: 30 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
version: 2
jobs:
build:
working_directory: ~/bookdash-android-app
docker:
- image: circleci/android:api-25-alpha
environment:
JVM_OPTS: -Xmx3200m
steps:
- checkout
- restore_cache:
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Chmod permissions #if permission for Gradlew Dependencies fail, use this.
command: sudo chmod +x ./gradlew
- run:
name: Download Dependencies
command: ./gradlew androidDependencies
- save_cache:
paths:
- ~/.gradle
key: jars-{{ checksum "build.gradle" }}-{{ checksum "app/build.gradle" }}
- run:
name: Run Tests
command: ./gradlew build lint test
- store_artifacts:
path: app/build/outputs
destination: outputs
- store_test_results:
path: app/build/test-results
21 changes: 9 additions & 12 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ buildscript {
}

dependencies {
classpath 'io.fabric.tools:gradle:1.24.2'
classpath 'io.fabric.tools:gradle:1.25.1'
}
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'io.fabric'
apply plugin: 'com.github.triplet.play'

apply plugin: 'com.google.firebase.firebase-perf'
apply plugin: 'kotlin-kapt'

repositories {
Expand All @@ -23,7 +23,7 @@ repositories {

android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion '26.0.2'
buildToolsVersion '27.0.3'

defaultConfig {
applicationId "org.bookdash.android"
Expand Down Expand Up @@ -180,7 +180,7 @@ dependencies {
implementation('com.crashlytics.sdk.android:crashlytics:2.5.3@aar') {
transitive = true
}
implementation('za.co.riggaroo:materialhelptutorial:1.2.0') {
implementation('za.co.riggaroo:materialhelptutorial:1.6.0') {
exclude module: 'support-v4'
}

Expand All @@ -201,19 +201,16 @@ dependencies {
implementation('com.firebaseui:firebase-ui-storage:0.6.1') {
exclude module: 'support-v4'
}
implementation "com.google.firebase:firebase-perf:${rootProject.ext.googlePlayServicesVersion}"

kapt "com.android.databinding:compiler:3.0.0"
implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'io.reactivex:rxjava:1.2.5'
implementation 'com.jakewharton.threetenabp:threetenabp:1.0.5'
implementation 'com.jakewharton.timber:timber:4.5.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta3'
implementation "android.arch.lifecycle:extensions:1.0.0-rc1"
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.jakewharton.timber:timber:4.6.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
implementation "android.arch.lifecycle:extensions:1.1.0"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
}





apply plugin: 'com.google.gms.google-services'

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
package org.bookdash.android.data.database.firebase

import android.util.Log

import com.google.firebase.database.DataSnapshot
import com.google.firebase.database.DatabaseReference
import com.google.firebase.database.FirebaseDatabase

import org.bookdash.android.data.utils.firebase.FirebaseObservableListeners
import org.bookdash.android.domain.model.firebase.FireBookDetails
import org.bookdash.android.domain.model.firebase.FireContributor
import org.bookdash.android.domain.model.firebase.FireLanguage
import org.bookdash.android.domain.model.firebase.FireRole

import java.util.ArrayList
import java.util.Collections

import rx.Observable
import rx.functions.Func1


class FirebaseBookDatabase(firebaseDatabase: FirebaseDatabase,
private val firebaseObservableListeners: FirebaseObservableListeners) : BookDatabase {
private val booksTable: DatabaseReference = firebaseDatabase.getReference(FireBookDetails.TABLE_NAME)
private val languagesTable: DatabaseReference = firebaseDatabase.getReference(FireLanguage.TABLE_NAME)
private val contributorsTable: DatabaseReference = firebaseDatabase.getReference(FireContributor.TABLE_NAME)
private val roleTable: DatabaseReference = firebaseDatabase.getReference(FireRole.TABLE_NAME)

override fun getLanguages(): Observable<List<FireLanguage>> {
return firebaseObservableListeners.listenToValueEvents(languagesTable, asLanguages())
}

override fun getBooks(): Observable<List<FireBookDetails>> {
return firebaseObservableListeners
.listenToValueEvents(booksTable.orderByChild(FireBookDetails.BOOK_COLUMN_CREATED_DATE), asBooks())
}

override fun getContributorById(contributorId: String): Observable<FireContributor> {
return firebaseObservableListeners
.listenToSingleValueEvents(contributorsTable.child(contributorId), asContributor())
}

override fun getRoleById(roleId: String): Observable<FireRole> {
return firebaseObservableListeners.listenToSingleValueEvents(roleTable.child(roleId), asRole())
}

override fun getBooksByLanguage(fireLanguage: FireLanguage): Observable<List<FireBookDetails>> {
return firebaseObservableListeners.listenToSingleValueEvents(
booksTable.orderByChild(FireBookDetails.BOOK_LANGUAGE_FIELD).equalTo(fireLanguage.id), asBooks())
}


private fun asRole(): Func1<DataSnapshot, FireRole> {
return Func1 { dataSnapshot -> dataSnapshot.getValue(FireRole::class.java) }
}

private fun asContributor(): Func1<DataSnapshot, FireContributor> {
return Func1 { dataSnapshot ->
val contributor = dataSnapshot.getValue(FireContributor::class.java)
contributor?.setId(dataSnapshot.key)
Log.d(TAG, "Contributor:" + contributor?.name + ", " + contributor?.avatar)
val keys = ArrayList<String>()
if (dataSnapshot.child(FireContributor.ROLES_SECTION).hasChildren()) {
val children = dataSnapshot.child(FireContributor.ROLES_SECTION).children
children.mapTo(keys) { it.key }
}
contributor?.roleIds = keys
contributor
}
}

private fun asBooks(): Func1<DataSnapshot, List<FireBookDetails>> {
return Func1 { dataSnapshot ->
val fireBookDetails = ArrayList<FireBookDetails>()
for (snap in dataSnapshot.children) {
val bookDetails = snap.getValue(FireBookDetails::class.java)
Log.d(TAG, "Book Details:" + bookDetails?.bookTitle + ". Book URL:" + bookDetails
?.bookCoverPageUrl)
bookDetails?.bookId = snap.key
val keys = ArrayList<String>()
if (snap.child(FireBookDetails.CONTRIBUTORS_ITEM_NAME).hasChildren()) {
val children = snap.child(FireBookDetails.CONTRIBUTORS_ITEM_NAME)
.children
children.mapTo(keys) { it.key }
}
bookDetails?.setContributorsIndexedKeys(keys)
fireBookDetails.add(bookDetails!!)

}
Collections.sort(fireBookDetails, FireBookDetails.COMPARATOR)
fireBookDetails
}
}

private fun asLanguages(): Func1<DataSnapshot, List<FireLanguage>> {
return Func1 { dataSnapshot ->
val fireLanguages = ArrayList<FireLanguage>()
for (snap in dataSnapshot.children) {
val language = snap.getValue(FireLanguage::class.java)
language?.id = snap.key
fireLanguages.add(language!!)
}
fireLanguages
}
}

companion object {

private const val TAG = "FirebaseBookDatabase"
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class PageFragment : Fragment() {
binding.page = page
binding.page2 = page2

val readBookViewModel = ViewModelProviders.of(activity).get<ReadBookViewModel>(ReadBookViewModel::class.java)
val readBookViewModel = ViewModelProviders.of(activity!!).get<ReadBookViewModel>(ReadBookViewModel::class.java)

binding.nextClickListener = View.OnClickListener {
Log.d(TAG, "Next Clicked")
Expand All @@ -44,9 +44,9 @@ class PageFragment : Fragment() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
page = arguments.getParcelable(PAGE_ARG)
page2 = arguments.getParcelable(PAGE_2_ARG)
bookLocation = arguments.getString(ARG_BOOK_LOCATION)
page = arguments?.getParcelable(PAGE_ARG)
page2 = arguments?.getParcelable(PAGE_2_ARG)
bookLocation = arguments?.getString(ARG_BOOK_LOCATION)
}

companion object {
Expand Down
6 changes: 3 additions & 3 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -81,9 +81,9 @@
<string name="invite_friends">Invite Friends</string>
<string name="action_all_books">All Books</string>
<string name="action_downloads">Downloaded Books</string>
<string name="no_books_downloaded">Oh no! You haven\'t \n\r downloaded any books.\n\r Head to the \"All Books\" \n\r section to download some!</string>
<string name="no_books_downloaded">Oh no! You haven\'t \n downloaded any books.\n Head to the \"All Books\" \n section to download some!</string>
<string name="no_books_available">No books available at the moment. Check back soon!</string>
<string name="book_info_still_loading">Book information is still loading...</string>
<string name="book_info_still_loading">Book information is still loading</string>
<string name="fragment_title_downloads">Downloads</string>
<string name="delete_book_confirmation">Delete Downloaded Book</string>
<string name="downloads_are_you_sure">Are you sure you want to delete \'%s\'? </string>
Expand All @@ -99,7 +99,7 @@
<string name="no_internet_text">Check your connection and try again later.</string>
<string name="search_no_internet_text">Check your internet connection and try again.</string>
<string name="search_no_results_found">No results found that match your query.</string>
<string name="search_query_hint">Search books...</string>
<string name="search_query_hint">Search books</string>
<string name="show_tutorial_settings_title">Show Tutorial</string>
<string name="show_tutorial_settings_summary">Display the tutorial for this app</string>
<string name="settings_title">Settings</string>
Expand Down
Loading

0 comments on commit 5274329

Please sign in to comment.