reenable the Google Sync related things

This commit is contained in:
tibbi
2017-07-11 19:55:05 +02:00
parent b5447496bc
commit 3cebca160b
6 changed files with 72 additions and 37 deletions

View File

@@ -39,7 +39,7 @@ dependencies {
compile 'com.bignerdranch.android:recyclerview-multiselect:0.2' compile 'com.bignerdranch.android:recyclerview-multiselect:0.2'
compile 'com.android.support:multidex:1.0.1' compile 'com.android.support:multidex:1.0.1'
/*compile 'com.google.code.gson:gson:2.8.0' compile 'com.google.code.gson:gson:2.8.0'
compile('com.google.http-client:google-http-client-gson:1.22.0') { compile('com.google.http-client:google-http-client-gson:1.22.0') {
exclude group: 'org.apache.httpcomponents' exclude group: 'org.apache.httpcomponents'
} }
@@ -48,9 +48,9 @@ dependencies {
compile('com.google.api-client:google-api-client-android:1.22.0') { compile('com.google.api-client:google-api-client-android:1.22.0') {
exclude group: 'org.apache.httpcomponents' exclude group: 'org.apache.httpcomponents'
} }
compile('com.google.apis:google-api-services-calendar:v3-rev230-1.22.0') { compile('com.google.apis:google-api-services-calendar:v3-rev249-1.22.0') {
exclude group: 'org.apache.httpcomponents' exclude group: 'org.apache.httpcomponents'
}*/ }
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
} }

View File

@@ -7,8 +7,9 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE"/>
<!--<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS" />--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<application <application
android:name=".App" android:name=".App"

View File

@@ -1,13 +1,23 @@
package com.simplemobiletools.calendar.activities package com.simplemobiletools.calendar.activities
import android.Manifest
import android.accounts.AccountManager import android.accounts.AccountManager
import android.content.Intent import android.content.Intent
import android.content.pm.PackageManager
import android.content.res.Resources import android.content.res.Resources
import android.media.RingtoneManager import android.media.RingtoneManager
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.os.Parcelable import android.os.Parcelable
import android.support.v4.app.ActivityCompat
import android.support.v4.content.ContextCompat
import com.google.android.gms.common.ConnectionResult
import com.google.android.gms.common.GoogleApiAvailability
import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential
import com.google.api.client.util.ExponentialBackOff
import com.google.api.services.calendar.CalendarScopes
import com.simplemobiletools.calendar.R import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.asynctasks.FetchGoogleEventsTask
import com.simplemobiletools.calendar.dialogs.CustomEventReminderDialog import com.simplemobiletools.calendar.dialogs.CustomEventReminderDialog
import com.simplemobiletools.calendar.dialogs.SnoozePickerDialog import com.simplemobiletools.calendar.dialogs.SnoozePickerDialog
import com.simplemobiletools.calendar.extensions.* import com.simplemobiletools.calendar.extensions.*
@@ -33,14 +43,14 @@ class SettingsActivity : SimpleActivity() {
val REQUEST_AUTHORIZATION = 5 val REQUEST_AUTHORIZATION = 5
} }
//lateinit var credential: GoogleAccountCredential lateinit var credential: GoogleAccountCredential
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings) setContentView(R.layout.activity_settings)
res = resources res = resources
//credential = GoogleAccountCredential.usingOAuth2(this, arrayListOf(CalendarScopes.CALENDAR_READONLY)).setBackOff(ExponentialBackOff()) credential = GoogleAccountCredential.usingOAuth2(this, arrayListOf(CalendarScopes.CALENDAR_READONLY)).setBackOff(ExponentialBackOff())
} }
override fun onResume() { override fun onResume() {
@@ -108,7 +118,7 @@ class SettingsActivity : SimpleActivity() {
config.googleSync = settings_google_sync.isChecked config.googleSync = settings_google_sync.isChecked
if (settings_google_sync.isChecked) { if (settings_google_sync.isChecked) {
//tryEnablingSync() tryEnablingSync()
} }
} }
} }
@@ -286,14 +296,14 @@ class SettingsActivity : SimpleActivity() {
} else if (requestCode == REQUEST_ACCOUNT_NAME && resultData?.extras != null) { } else if (requestCode == REQUEST_ACCOUNT_NAME && resultData?.extras != null) {
val accountName = resultData.getStringExtra(AccountManager.KEY_ACCOUNT_NAME) val accountName = resultData.getStringExtra(AccountManager.KEY_ACCOUNT_NAME)
config.syncAccountName = accountName config.syncAccountName = accountName
//tryEnablingSync() tryEnablingSync()
} else if (requestCode == REQUEST_AUTHORIZATION) { } else if (requestCode == REQUEST_AUTHORIZATION) {
//tryEnablingSync() tryEnablingSync()
} }
} }
} }
/*private fun tryEnablingSync() { private fun tryEnablingSync() {
if (!isGooglePlayServicesAvailable()) { if (!isGooglePlayServicesAvailable()) {
acquireGooglePlayServices() acquireGooglePlayServices()
} else if (!hasGetAccountsPermission()) { } else if (!hasGetAccountsPermission()) {
@@ -336,5 +346,5 @@ class SettingsActivity : SimpleActivity() {
if (config.syncAccountName.isEmpty()) { if (config.syncAccountName.isEmpty()) {
startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_NAME) startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_NAME)
} }
}*/ }
} }

View File

@@ -1,7 +1,29 @@
package com.simplemobiletools.calendar.asynctasks package com.simplemobiletools.calendar.asynctasks
import android.app.Activity
import android.os.AsyncTask
import com.google.api.client.extensions.android.http.AndroidHttp
import com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential
import com.google.api.client.googleapis.extensions.android.gms.auth.UserRecoverableAuthIOException
import com.google.api.client.json.gson.GsonFactory
import com.google.gson.Gson
import com.google.gson.JsonArray
import com.google.gson.JsonObject
import com.google.gson.reflect.TypeToken
import com.simplemobiletools.calendar.R
import com.simplemobiletools.calendar.activities.SettingsActivity
import com.simplemobiletools.calendar.extensions.seconds
import com.simplemobiletools.calendar.helpers.DAY
import com.simplemobiletools.calendar.helpers.MONTH
import com.simplemobiletools.calendar.helpers.WEEK
import com.simplemobiletools.calendar.helpers.YEAR
import com.simplemobiletools.calendar.models.Event
import com.simplemobiletools.calendar.models.GoogleEvent
import com.simplemobiletools.calendar.models.GoogleEventReminder
import org.joda.time.DateTime
// more info about event fields at https://developers.google.com/google-apps/calendar/v3/reference/events/insert // more info about event fields at https://developers.google.com/google-apps/calendar/v3/reference/events/insert
/*class FetchGoogleEventsTask(val activity: Activity, credential: GoogleAccountCredential) : AsyncTask<Void, Void, List<Event>>() { class FetchGoogleEventsTask(val activity: Activity, credential: GoogleAccountCredential) : AsyncTask<Void, Void, List<Event>>() {
private val CONFIRMED = "confirmed" private val CONFIRMED = "confirmed"
private val PRIMARY = "primary" private val PRIMARY = "primary"
private val ITEMS = "items" private val ITEMS = "items"
@@ -127,4 +149,4 @@ package com.simplemobiletools.calendar.asynctasks
} }
} }
} }
}*/ }

View File

@@ -1,4 +1,7 @@
package com.simplemobiletools.calendar.models package com.simplemobiletools.calendar.models
/*data class GoogleEvent(val summary: String, val description: String, val status: String, val start: GoogleEventDateTime, val end: GoogleEventDateTime, import com.google.gson.JsonArray
val reminders: JsonObject, val recurrence: JsonArray)*/ import com.google.gson.JsonObject
data class GoogleEvent(val summary: String, val description: String, val status: String, val start: GoogleEventDateTime, val end: GoogleEventDateTime,
val reminders: JsonObject, val recurrence: JsonArray)

View File

@@ -69,27 +69,6 @@
</RelativeLayout> </RelativeLayout>
<RelativeLayout
android:id="@+id/settings_google_sync_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin"
android:visibility="gone">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_google_sync"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/google_sync"/>
</RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/settings_vibrate_holder" android:id="@+id/settings_vibrate_holder"
android:layout_width="match_parent" android:layout_width="match_parent"
@@ -130,6 +109,26 @@
</RelativeLayout> </RelativeLayout>
<RelativeLayout
android:id="@+id/settings_google_sync_holder"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/medium_margin"
android:background="?attr/selectableItemBackground"
android:padding="@dimen/activity_margin">
<com.simplemobiletools.commons.views.MySwitchCompat
android:id="@+id/settings_google_sync"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@null"
android:clickable="false"
android:paddingLeft="@dimen/medium_margin"
android:paddingStart="@dimen/medium_margin"
android:text="@string/google_sync"/>
</RelativeLayout>
<RelativeLayout <RelativeLayout
android:id="@+id/settings_reminder_sound_holder" android:id="@+id/settings_reminder_sound_holder"
android:layout_width="match_parent" android:layout_width="match_parent"