Skip to content

Commit

Permalink
Update libs & fix deps
Browse files Browse the repository at this point in the history
  • Loading branch information
EugW committed Sep 3, 2020
1 parent 801c54d commit 3712ca4
Show file tree
Hide file tree
Showing 11 changed files with 66 additions and 84 deletions.
33 changes: 16 additions & 17 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,22 +1,21 @@
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.google.gms.google-services'

android {
compileSdkVersion 29
buildToolsVersion '29.0.2'
compileSdkVersion 30
buildToolsVersion '30.0.2'
defaultConfig {
applicationId "pro.eugw.lessoncountdown"
minSdkVersion 26
targetSdkVersion 29
targetSdkVersion 30
versionCode 73
versionName "2.7"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
compileOptions {
targetCompatibility 1.8
sourceCompatibility 1.8
targetCompatibility "1.8"
sourceCompatibility "1.8"
}
kotlinOptions {
jvmTarget = "1.8"
Expand All @@ -32,20 +31,20 @@ android {

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.google.firebase:firebase-messaging:20.0.1'
implementation 'com.google.firebase:firebase-core:17.2.1'
implementation 'com.google.firebase:firebase-messaging:20.2.4'
implementation 'com.google.firebase:firebase-core:17.5.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta3'
testImplementation 'junit:junit:4.13-beta-3'
androidTestImplementation 'androidx.test:runner:1.3.0-alpha02'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0-alpha02'
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
testImplementation 'junit:junit:4.13'
androidTestImplementation 'androidx.test:runner:1.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'androidx.recyclerview:recyclerview:1.1.0-rc01'
implementation 'androidx.recyclerview:recyclerview:1.2.0-alpha05'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation 'com.google.android.material:material:1.2.0-alpha01'
implementation 'androidx.preference:preference:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0-beta02'
implementation 'com.google.android.material:material:1.3.0-alpha02'
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.core:core-ktx:1.5.0-alpha02'
implementation "android.arch.work:work-runtime-ktx:1.0.1"
implementation 'com.android.volley:volley:1.1.1'
}
32 changes: 10 additions & 22 deletions app/src/main/java/pro/eugw/lessoncountdown/activity/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import androidx.localbroadcastmanager.content.LocalBroadcastManager
import androidx.work.*
import com.android.volley.Request
import com.android.volley.RequestQueue
import com.android.volley.Response
import com.android.volley.toolbox.Volley
import com.google.android.material.navigation.NavigationView
import com.google.gson.JsonArray
Expand Down Expand Up @@ -52,7 +51,6 @@ class MainActivity : FragmentActivity(), NavigationView.OnNavigationItemSelected
lateinit var queue: RequestQueue
var clazz = JsonObject()
var homework = JsonObject()
private var saved = false

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand Down Expand Up @@ -161,7 +159,7 @@ class MainActivity : FragmentActivity(), NavigationView.OnNavigationItemSelected
val schoolId = prefs.getString(SCHOOL_ID, "")
val className = URLEncoder.encode(prefs.getString(CLASS, ""), "UTF-8")
queue.add(JsObRe(Request.Method.GET, "https://$host/class?school_id=$schoolId&clazz=$className",
Response.Listener {
{
PrintWriter(FileWriter(schedule), true).println(it[SCHEDULE].asJsonObject)
PrintWriter(FileWriter(bells), true).println(it[BELLS].asJsonObject)
clazz = try {
Expand All @@ -178,7 +176,7 @@ class MainActivity : FragmentActivity(), NavigationView.OnNavigationItemSelected
initHomework()
inflateDOWFragment()
},
Response.ErrorListener {
{
EasyToast.shortShow(R.string.networkErr, this)
}
))
Expand Down Expand Up @@ -206,15 +204,15 @@ class MainActivity : FragmentActivity(), NavigationView.OnNavigationItemSelected
if (token.length < 5)
return
queue.add(JsObRe(Request.Method.GET, "https://api.kundelik.kz/v1/users/me?access_token=$token",
Response.Listener { responsePerson ->
{ responsePerson ->
val personId = responsePerson["personId"].asString
EasyToast.shortShow("Person ID request succeed: $personId", this)
queue.add(JsArRe(Request.Method.GET, "https://api.kundelik.kz/v1/users/me/schools?access_token=$token",
Response.Listener { responseSchool ->
{ responseSchool ->
val schoolId = responseSchool[0].asString
EasyToast.shortShow("School ID request succeed: $schoolId", this)
queue.add(JsArRe(Request.Method.GET, "https://api.kundelik.kz/v1/persons/$personId/schools/$schoolId/edu-groups?access_token=$token",
Response.Listener { responseEduGroup ->
{ responseEduGroup ->
val eduGroupId = responseEduGroup[0].asJsonObject["id"].asString
EasyToast.shortShow("Edu Group ID request succeed: $eduGroupId", this)
val calendar = Calendar.getInstance()
Expand All @@ -225,27 +223,27 @@ class MainActivity : FragmentActivity(), NavigationView.OnNavigationItemSelected
val lastDay = calendar.time
val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
queue.add(JsObRe(Request.Method.GET, "https://api.kundelik.kz/v1/persons/$personId/groups/$eduGroupId/schedules?startDate=${sdf.format(firstDay)}&endDate=${sdf.format(lastDay)}&access_token=$token",
Response.Listener { responseSchedule ->
{ responseSchedule ->
val scheduleArray = responseSchedule["days"].asJsonArray
EasyToast.shortShow("Schedule request succeed: $scheduleArray", this)
convertKundelikToMSchedule(scheduleArray)
},
Response.ErrorListener { error ->
{ error ->
EasyToast.shortShow("Schedule request failed: ${error.message}", this)
}
))
},
Response.ErrorListener { error ->
{ error ->
EasyToast.shortShow("Edu Group ID request failed: ${error.message}", this)
}
))
},
Response.ErrorListener { error ->
{ error ->
EasyToast.shortShow("School ID request failed: ${error.message}", this)
}
))
},
Response.ErrorListener { error ->
{ error ->
EasyToast.shortShow("Person ID request failed: ${error.message}", this)
}
))
Expand Down Expand Up @@ -388,14 +386,4 @@ class MainActivity : FragmentActivity(), NavigationView.OnNavigationItemSelected
return true
}

override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
saved = true
}

override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
super.onRestoreInstanceState(savedInstanceState!!)
saved = false
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import android.widget.Toast
import androidx.core.content.edit
import androidx.fragment.app.Fragment
import com.android.volley.Request
import com.android.volley.Response
import com.google.gson.JsonObject
import kotlinx.android.synthetic.main.fragment_kundelik_panel.*
import pro.eugw.lessoncountdown.R
Expand Down Expand Up @@ -94,11 +93,11 @@ class KundelikFragment : Fragment() {
private fun tokenTestRequest(): JsObRe {
val url = "https://api.kundelik.kz/v1/users/me?access_token=$token"
return JsObRe(Request.Method.GET, url,
Response.Listener { response ->
{ response ->
textViewKundelikName.text = response["name"].asString
Toast.makeText(mActivity, "Authentication succeed", Toast.LENGTH_SHORT).show()
},
Response.ErrorListener {
{
Toast.makeText(mActivity, "Token is out of date. Updating...", Toast.LENGTH_SHORT).show()
val cred = File(mActivity.filesDir, "encLogDet")
if (!cred.exists()) {
Expand All @@ -120,12 +119,12 @@ class KundelikFragment : Fragment() {
jsonDetails.addProperty("client_secret", CLIENT_SECRET)
jsonDetails.addProperty("scope", KUNDELIK_SCOPE)
mActivity.queue.add(JsObRe(Request.Method.POST, "https://api.kundelik.kz/v1/authorizations/bycredentials", jsonDetails,
Response.Listener { response ->
{ response ->
Toast.makeText(context, "Token update succeed: $response", Toast.LENGTH_SHORT).show()
mActivity.prefs.edit { putString(KUNDELIK_TOKEN, response["accessToken"].asString) }
mActivity.inflateKundelikFragment()
},
Response.ErrorListener { error ->
{ error ->
Toast.makeText(context, "Token update failed: $error", Toast.LENGTH_SHORT).show()
}
))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import androidx.fragment.app.DialogFragment
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import com.android.volley.Request
import com.android.volley.Response
import com.google.gson.JsonParser
import kotlinx.android.synthetic.main.fragment_search.*
import pro.eugw.lessoncountdown.R
Expand Down Expand Up @@ -74,7 +73,7 @@ class SearchDialog : DialogFragment() {
}
})
mActivity.queue.add(JsObRe(Request.Method.GET, "https://$host/classes?lang=${Locale.getDefault().language}",
Response.Listener {
{
thread(true) {
JsonParser.parseString(it.toString()).asJsonObject[CLASSES].asJsonArray.forEach {jE ->
baseArray.add(SearchElement(jE.asJsonObject[NUMBER].asString, jE.asJsonObject[LETTER].asString, jE.asJsonObject[SUBGROUP].asString, jE.asJsonObject[SCHOOL_ID].asString, jE.asJsonObject[SCHOOL_NAME].asString))
Expand All @@ -88,7 +87,7 @@ class SearchDialog : DialogFragment() {
}
}
},
Response.ErrorListener {}
{}
))
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ import android.widget.Toast
import androidx.core.content.edit
import androidx.fragment.app.DialogFragment
import com.android.volley.Request
import com.android.volley.Response
import com.google.gson.JsonObject
import kotlinx.android.synthetic.main.fragment_kundelik_login.*
import pro.eugw.lessoncountdown.R
Expand Down Expand Up @@ -50,9 +49,9 @@ class KundelikLoginFragment : DialogFragment() {
jsonDetails.addProperty("client_secret", CLIENT_SECRET)
jsonDetails.addProperty("scope", KUNDELIK_SCOPE)
mActivity.queue.add(JsObRe(Request.Method.POST, "https://api.kundelik.kz/v1/authorizations/bycredentials", jsonDetails,
Response.Listener { response ->
{ response ->
mActivity.queue.add(JsArRe(Request.Method.GET, "https://api.kundelik.kz/v1/users/me/roles?access_token=${response["accessToken"].asString}",
Response.Listener {
{
when {
it.contains("EduStudent") -> continueAsStudent(response)
it.contains("EduStaff") -> continueAsStaff(response)
Expand All @@ -61,10 +60,10 @@ class KundelikLoginFragment : DialogFragment() {
else -> continueAsUnknown(response)
}
},
Response.ErrorListener {}
{}
))
},
Response.ErrorListener { error ->
{ error ->
Toast.makeText(context, "Error: ${error.message}", Toast.LENGTH_SHORT).show()
showResultDialog("Error", error.message.toString())
dismiss()
Expand All @@ -77,10 +76,10 @@ class KundelikLoginFragment : DialogFragment() {
mActivity.prefs.edit { putString(KUNDELIK_ROLE, "EduStudent") }
if (mActivity.prefs.contains(LCAPI_TOKEN)) {
mActivity.queue.add(JsObRe(Request.Method.GET, "https://$host/updateKCred?kusername=${editTextKundelikLogin.text}&kpassword=${editTextKundelikPassword.text}&token=${mActivity.prefs.getString(LCAPI_TOKEN, "")}",
Response.Listener {
{
Toast.makeText(context, "Kundelik credentials successfully updated on server", Toast.LENGTH_SHORT).show()
},
Response.ErrorListener { error ->
{ error ->
Toast.makeText(context, "Error: ${error.message}", Toast.LENGTH_SHORT).show()
}
))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import androidx.fragment.app.DialogFragment
import androidx.recyclerview.widget.DividerItemDecoration
import androidx.recyclerview.widget.LinearLayoutManager
import com.android.volley.Request
import com.android.volley.Response
import com.google.gson.JsonArray
import kotlinx.android.synthetic.main.fragment_marks_log.*
import pro.eugw.lessoncountdown.R
Expand Down Expand Up @@ -50,24 +49,24 @@ class MarksLogFragment : DialogFragment() {
}
val token = mActivity.prefs.getString(KUNDELIK_TOKEN, "")
mActivity.queue.add(JsObRe(Request.Method.GET, "https://api.kundelik.kz/v1/users/me?access_token=$token",
Response.Listener { response ->
{ response ->
personId = response["personId"].asString
mActivity.queue.add(JsArRe(Request.Method.GET, "https://api.kundelik.kz/v1/users/me/schools?access_token=$token",
Response.Listener { response1 ->
{ response1 ->
schoolId = response1[0].asString
val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault())
val calendar = Calendar.getInstance()
val to = sdf.format(calendar.time)
calendar.add(Calendar.MONTH, -1)
val from = sdf.format(calendar.time)
mActivity.queue.add(JsArRe(Request.Method.GET, "https://api.kundelik.kz/v1/persons/$personId/schools/$schoolId/marks/$from/$to?access_token=$token",
Response.Listener { response2 ->
{ response2 ->
val jArr = JsonArray()
response2.forEach {
jArr.add(it.asJsonObject["lesson"].asString)
}
mActivity.queue.add(JsArRe(Request.Method.POST, "https://api.kundelik.kz/v1/lessons/many?access_token=$token", jArr,
Response.Listener { response3 ->
{ response3 ->
thread(true) {
val sdf2 = SimpleDateFormat("yyyy-MM-dd'T'HH:mm", Locale.getDefault())
response2.sortedBy { sdf2.parse(it.asJsonObject["date"].asString)!!.time }.forEach {
Expand All @@ -85,19 +84,19 @@ class MarksLogFragment : DialogFragment() {
}
}
},
Response.ErrorListener {
{
}
))
},
Response.ErrorListener {
{
}
))
},
Response.ErrorListener {
{
}
))
},
Response.ErrorListener {
{
}
))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ class ScheduleAdapter(private var list: List<ScheduleElement>, private var fragm
}

private fun setList(prop: String, homework: String, position: Int) {
val file = File(fragment.activity!!.filesDir, "homework.json")
val file = File(fragment.requireActivity().filesDir, "homework.json")
val jsonObject = JsonParser.parseReader(FileReader(file)).asJsonObject
list[position].homework = homework
jsonObject.addProperty(prop, homework)
Expand Down
5 changes: 2 additions & 3 deletions app/src/main/java/pro/eugw/lessoncountdown/util/FCMService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import android.os.Build
import androidx.core.app.NotificationCompat
import com.android.volley.Request
import com.android.volley.RequestQueue
import com.android.volley.Response
import com.android.volley.toolbox.Volley
import com.google.firebase.messaging.FirebaseMessagingService
import com.google.firebase.messaging.RemoteMessage
Expand All @@ -37,8 +36,8 @@ class FCMService : FirebaseMessagingService() {
super.onNewToken(p0)
val host = prefs.getString(CUSTOM_ADDRESS, getString(R.string.host))
queue.add(JsObRe(Request.Method.GET, "https://$host/updateFCMToken?token=${prefs.getString(LCAPI_TOKEN, "")}&fcmtoken=$p0",
Response.Listener {},
Response.ErrorListener {}
{},
{}
))

}
Expand Down
Loading

0 comments on commit 3712ca4

Please sign in to comment.