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.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') {
exclude group: 'org.apache.httpcomponents'
}
@ -48,9 +48,9 @@ dependencies {
compile('com.google.api-client:google-api-client-android:1.22.0') {
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'
}*/
}
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.VIBRATE"/>
<!--<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />-->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
<application
android:name=".App"

View File

@ -1,13 +1,23 @@
package com.simplemobiletools.calendar.activities
import android.Manifest
import android.accounts.AccountManager
import android.content.Intent
import android.content.pm.PackageManager
import android.content.res.Resources
import android.media.RingtoneManager
import android.net.Uri
import android.os.Bundle
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.asynctasks.FetchGoogleEventsTask
import com.simplemobiletools.calendar.dialogs.CustomEventReminderDialog
import com.simplemobiletools.calendar.dialogs.SnoozePickerDialog
import com.simplemobiletools.calendar.extensions.*
@ -33,14 +43,14 @@ class SettingsActivity : SimpleActivity() {
val REQUEST_AUTHORIZATION = 5
}
//lateinit var credential: GoogleAccountCredential
lateinit var credential: GoogleAccountCredential
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_settings)
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() {
@ -108,7 +118,7 @@ class SettingsActivity : SimpleActivity() {
config.googleSync = 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) {
val accountName = resultData.getStringExtra(AccountManager.KEY_ACCOUNT_NAME)
config.syncAccountName = accountName
//tryEnablingSync()
tryEnablingSync()
} else if (requestCode == REQUEST_AUTHORIZATION) {
//tryEnablingSync()
tryEnablingSync()
}
}
}
/*private fun tryEnablingSync() {
private fun tryEnablingSync() {
if (!isGooglePlayServicesAvailable()) {
acquireGooglePlayServices()
} else if (!hasGetAccountsPermission()) {
@ -336,5 +346,5 @@ class SettingsActivity : SimpleActivity() {
if (config.syncAccountName.isEmpty()) {
startActivityForResult(credential.newChooseAccountIntent(), REQUEST_ACCOUNT_NAME)
}
}*/
}
}

View File

@ -1,7 +1,29 @@
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
/*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 PRIMARY = "primary"
private val ITEMS = "items"
@ -127,4 +149,4 @@ package com.simplemobiletools.calendar.asynctasks
}
}
}
}*/
}

View File

@ -1,4 +1,7 @@
package com.simplemobiletools.calendar.models
/*data class GoogleEvent(val summary: String, val description: String, val status: String, val start: GoogleEventDateTime, val end: GoogleEventDateTime,
val reminders: JsonObject, val recurrence: JsonArray)*/
import com.google.gson.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
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
android:id="@+id/settings_vibrate_holder"
android:layout_width="match_parent"
@ -130,6 +109,26 @@
</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
android:id="@+id/settings_reminder_sound_holder"
android:layout_width="match_parent"