From 840a5fd0395846bc640dc1778aededb11d2a8f93 Mon Sep 17 00:00:00 2001 From: Trevor Slocum Date: Sun, 8 Oct 2017 13:44:14 -0700 Subject: [PATCH] Update app icon, use AppAuth library for Oauth (instead of Play Services), fix vibrate/silent feature on pre-6.0 --- CHANGELOG | 6 + MeditationAssistant/build.gradle | 93 +++--- MeditationAssistant/proguard-rules.pro | 4 - .../src/main/AndroidManifest.xml | 11 +- .../meditationassistant/AboutActivity.java | 6 +- .../AuthConfiguration.java | 173 +++++++++++ .../AuthResultActivity.java | 225 +++++++++++++++ .../meditationassistant/AuthStateManager.java | 154 ++++++++++ .../meditationassistant/CompleteActivity.java | 2 +- .../JavaScriptInterface.java | 2 +- .../ListPreferenceSound.java | 1 - .../meditationassistant/MainActivity.java | 69 +---- .../meditationassistant/MediNET.java | 52 +--- .../meditationassistant/MediNETActivity.java | 104 ++----- .../meditationassistant/MediNETTask.java | 21 +- .../MeditationAssistant.java | 269 +++--------------- .../meditationassistant/SettingsActivity.java | 11 +- .../res/layout/browser_selector_layout.xml | 23 ++ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 5875 -> 3056 bytes .../src/main/res/mipmap-ldpi/ic_launcher.png | Bin 2250 -> 1622 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 3626 -> 2492 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 9565 -> 4664 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 14972 -> 6121 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 24741 -> 9407 bytes .../src/main/res/values-de/strings.xml | 13 +- .../src/main/res/values-es-rUS/strings.xml | 205 +++++++++++-- .../src/main/res/values-nb/strings.xml | 262 +++++++++++++++++ .../src/main/res/values/strings.xml | 4 +- .../WearListenerService.java | 6 +- MeditationAssistantWear/build.gradle | 29 +- .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 5875 -> 3898 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 3626 -> 2885 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 9565 -> 6135 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 14972 -> 8385 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 24741 -> 13351 bytes README.md | 3 +- TODO | 8 + gradle/wrapper/gradle-wrapper.properties | 4 +- settings.gradle | 4 +- 39 files changed, 1235 insertions(+), 529 deletions(-) create mode 100644 MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthConfiguration.java create mode 100644 MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthResultActivity.java create mode 100644 MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthStateManager.java create mode 100644 MeditationAssistant/src/main/res/layout/browser_selector_layout.xml create mode 100644 MeditationAssistant/src/main/res/values-nb/strings.xml diff --git a/CHANGELOG b/CHANGELOG index 9298ff3..9863107 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,9 @@ +1.4.1: +- Updated app icon (thanks Symbolisch) +- Changed MediNET Oauth method from Play Services to open-source library AppAuth +- Fix set to vibrate/silent feature on pre-Android 6.0 devices +- App now requires Android 4.1+ (was 4.0+) + 1.4.0: - Fix alarm icon appearing in the status bar when Daily Reminder is enabled - Increase fidelity of the default gong sound diff --git a/MeditationAssistant/build.gradle b/MeditationAssistant/build.gradle index 4fcbcdf..8d2fb22 100644 --- a/MeditationAssistant/build.gradle +++ b/MeditationAssistant/build.gradle @@ -1,31 +1,37 @@ buildscript { - repositories { - mavenCentral() - jcenter() - } dependencies { - classpath 'com.android.tools.build:gradle:2.2.1' + classpath 'com.android.tools.build:gradle:2.3.3' } } apply plugin: 'com.android.application' repositories { - mavenCentral() + maven { + url "https://maven.google.com" + } jcenter() - maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } android { - compileSdkVersion 24 - buildToolsVersion '24.0.2' + compileSdkVersion 26 + buildToolsVersion '26.0.2' defaultConfig { - minSdkVersion 14 - targetSdkVersion 24 + minSdkVersion 16 + targetSdkVersion 26 - versionCode 140 - versionName "1.4.0" + versionCode 141 + versionName "1.4.1" + + jackOptions { + enabled true + } + + applicationId "sh.ftp.rocketninelabs.meditationassistant" + manifestPlaceholders = [ + 'appAuthRedirectScheme': applicationId + ] } lintOptions { @@ -33,6 +39,12 @@ android { abortOnError false } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File( @@ -58,41 +70,56 @@ android { productFlavors { free { - applicationId "sh.ftp.rocketninelabs.meditationassistant" + buildConfigField "String", "GOOGLEOAUTHKEY", "\"163346957857.apps.googleusercontent.com\"" } full { + buildConfigField "String", "GOOGLEOAUTHKEY", "\"153054147563.apps.googleusercontent.com\"" + applicationId "sh.ftp.rocketninelabs.meditationassistant.full" + manifestPlaceholders = [ + 'appAuthRedirectScheme': applicationId + ] } opensource { - applicationId "sh.ftp.rocketninelabs.meditationassistant.opensource" - + buildConfigField "String", "GOOGLEOAUTHKEY", "\"821225341172-64l3l6kdk9ull9lc7fjgeuuu7nee7pb9.apps.googleusercontent.com\"" delete('google-services.json') + + applicationId "sh.ftp.rocketninelabs.meditationassistant.opensource" + manifestPlaceholders = [ + 'appAuthRedirectScheme': applicationId + ] } } } dependencies { - compile 'com.android.support:support-v4:24.2.1' - freeCompile 'com.google.android.gms:play-services-base:9.6.1' - fullCompile 'com.google.android.gms:play-services-base:9.6.1' - freeCompile 'com.google.android.gms:play-services-identity:9.6.1' - fullCompile 'com.google.android.gms:play-services-identity:9.6.1' - freeCompile 'com.google.android.gms:play-services-analytics:9.6.1' - fullCompile 'com.google.android.gms:play-services-analytics:9.6.1' - freeCompile 'com.google.android.gms:play-services-wearable:9.6.1' - fullCompile 'com.google.android.gms:play-services-wearable:9.6.1' - freeCompile 'com.google.android.gms:play-services-appinvite:9.6.1' - fullCompile 'com.google.android.gms:play-services-appinvite:9.6.1' - freeCompile 'com.google.android.gms:play-services-fitness:9.6.1' - fullCompile 'com.google.android.gms:play-services-fitness:9.6.1' - freeCompile 'com.google.android.gms:play-services-ads:9.6.1' + compile "com.android.support:support-compat:26.1.0" + compile "com.android.support:support-core-utils:26.1.0" + compile "com.android.support:support-core-ui:26.1.0" + compile "com.android.support:support-media-compat:26.1.0" + compile "com.android.support:support-fragment:26.1.0" + compile "com.android.support:recyclerview-v7:26.1.0" + compile "com.android.support:design:26.1.0" + compile "net.openid:appauth:0.7.0" + compile "com.squareup.okio:okio:1.13.0" + + freeCompile 'com.google.android.gms:play-services-base:11.4.2' + fullCompile 'com.google.android.gms:play-services-base:11.4.2' + freeCompile 'com.google.android.gms:play-services-analytics:11.4.2' + fullCompile 'com.google.android.gms:play-services-analytics:11.4.2' + //freeCompile 'com.google.android.gms:play-services-wearable:11.4.2' + //fullCompile 'com.google.android.gms:play-services-wearable:11.4.2' + freeCompile 'com.google.android.gms:play-services-appinvite:11.4.2' + fullCompile 'com.google.android.gms:play-services-appinvite:11.4.2' + freeCompile 'com.google.android.gms:play-services-fitness:11.4.2' + fullCompile 'com.google.android.gms:play-services-fitness:11.4.2' + freeCompile 'com.google.android.gms:play-services-ads:11.4.2' //noinspection GradleDynamicVersion compile 'ch.acra:acra:4.9.0' compile 'com.github.amlcurran.showcaseview:library:5.4.3' - compile 'com.nononsenseapps:filepicker:3.0.0' + compile 'com.nononsenseapps:filepicker:4.1.0' //wearApp project(':MeditationAssistantWear') // TODO: Uncomment when Wear app is ready - compile 'com.android.support:recyclerview-v7:24.2.1' -} +} \ No newline at end of file diff --git a/MeditationAssistant/proguard-rules.pro b/MeditationAssistant/proguard-rules.pro index 384d1eb..f8df3a9 100644 --- a/MeditationAssistant/proguard-rules.pro +++ b/MeditationAssistant/proguard-rules.pro @@ -183,10 +183,6 @@ -keep,allowshrinking,allowoptimization class * { ; } --keepclasseswithmembernames,allowshrinking class * { - native ; -} - -keepclasseswithmembers,allowshrinking class * { public (android.content.Context,android.util.AttributeSet); public (android.content.Context,android.util.AttributeSet,int); diff --git a/MeditationAssistant/src/main/AndroidManifest.xml b/MeditationAssistant/src/main/AndroidManifest.xml index cc1227e..14da017 100644 --- a/MeditationAssistant/src/main/AndroidManifest.xml +++ b/MeditationAssistant/src/main/AndroidManifest.xml @@ -11,8 +11,6 @@ - - + + + sInstance = new WeakReference<>(null); + + private final Context mContext; + private final SharedPreferences mPrefs; + private final Resources mResources; + + private JSONObject mConfigJson; + private String mConfigError; + + private String mClientId; + private String mScope; + private Uri mRedirectUri; + private Uri mDiscoveryUri; + private Uri mAuthEndpointUri; + private Uri mTokenEndpointUri; + private Uri mRegistrationEndpointUri; + + public static AuthConfiguration getInstance(Context context) { + AuthConfiguration config = sInstance.get(); + if (config == null) { + config = new AuthConfiguration(context); + sInstance = new WeakReference(config); + } + + return config; + } + + public AuthConfiguration(Context context) { + mContext = context; + mPrefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE); + mResources = context.getResources(); + + try { + readConfiguration(); + } catch (InvalidConfigurationException ex) { + mConfigError = ex.getMessage(); + } + } + + /** + * Indicates whether the current configuration is valid. + */ + public boolean isValid() { + return mConfigError == null; + } + + /** + * Returns a description of the configuration error, if the configuration is invalid. + */ + @Nullable + public String getConfigurationError() { + return mConfigError; + } + + + @Nullable + public String getClientId() { + return mClientId; + } + + @NonNull + public String getScope() { + return mScope; + } + + @NonNull + public Uri getRedirectUri() { + return mRedirectUri; + } + + @Nullable + public Uri getDiscoveryUri() { + return mDiscoveryUri; + } + + @Nullable + public Uri getAuthEndpointUri() { + return mAuthEndpointUri; + } + + @Nullable + public Uri getTokenEndpointUri() { + return mTokenEndpointUri; + } + + @Nullable + public Uri getRegistrationEndpointUri() { + return mRegistrationEndpointUri; + } + + public ConnectionBuilder getConnectionBuilder() { + return DefaultConnectionBuilder.INSTANCE; + } + + private void readConfiguration() throws InvalidConfigurationException { + mClientId = ""; // TODO: blank? + mScope = "openid email profile"; + mRedirectUri = Uri.parse("https://medinet.rocketnine.space/oauth"); + + if (!isRedirectUriRegistered()) { + throw new InvalidConfigurationException( + "redirect_uri is not handled by any activity in this app! " + + "Ensure that the appAuthRedirectScheme in your build.gradle file " + + "is correctly configured, or that an appropriate intent filter " + + "exists in your app manifest."); + } + + /*if (getConfigString("discovery_uri") == null) { + mAuthEndpointUri = getRequiredConfigWebUri("authorization_endpoint_uri"); + + mTokenEndpointUri = getRequiredConfigWebUri("token_endpoint_uri"); + + if (mClientId == null) { + mRegistrationEndpointUri = getRequiredConfigWebUri("registration_endpoint_uri"); + } + } else { + mDiscoveryUri = getRequiredConfigWebUri("discovery_uri"); + }*/ + mDiscoveryUri = Uri.parse(""); + } + + private boolean isRedirectUriRegistered() { + // ensure that the redirect URI declared in the configuration is handled by some activity + // in the app, by querying the package manager speculatively + Intent redirectIntent = new Intent(); + redirectIntent.setPackage(mContext.getPackageName()); + redirectIntent.setAction(Intent.ACTION_VIEW); + redirectIntent.addCategory(Intent.CATEGORY_BROWSABLE); + redirectIntent.setData(mRedirectUri); + + return !mContext.getPackageManager().queryIntentActivities(redirectIntent, 0).isEmpty(); + } + + public static final class InvalidConfigurationException extends Exception { + InvalidConfigurationException(String reason) { + super(reason); + } + + InvalidConfigurationException(String reason, Throwable cause) { + super(reason, cause); + } + } +} diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthResultActivity.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthResultActivity.java new file mode 100644 index 0000000..834e08b --- /dev/null +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthResultActivity.java @@ -0,0 +1,225 @@ +package sh.ftp.rocketninelabs.meditationassistant; + + +import android.app.Activity; +import android.os.Bundle; +import android.support.annotation.MainThread; +import android.support.annotation.Nullable; +import android.support.annotation.WorkerThread; +import android.support.design.widget.Snackbar; +import android.util.Log; +import android.view.View; +import android.widget.TextView; + +import net.openid.appauth.AppAuthConfiguration; +import net.openid.appauth.AuthState; +import net.openid.appauth.AuthorizationException; +import net.openid.appauth.AuthorizationResponse; +import net.openid.appauth.AuthorizationService; +import net.openid.appauth.AuthorizationServiceDiscovery; +import net.openid.appauth.ClientAuthentication; +import net.openid.appauth.TokenRequest; +import net.openid.appauth.TokenResponse; + +import org.json.JSONException; +import org.json.JSONObject; + +import java.io.IOException; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import java.nio.charset.Charset; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.atomic.AtomicReference; + +import okio.Okio; + +/** + * Displays the authorized state of the user. This activity is provided with the outcome of the + * authorization flow, which it uses to negotiate the final authorized state, + * by performing an authorization code exchange if necessary. After this, the activity provides + * additional post-authorization operations if available, such as fetching user info and refreshing + * access tokens. + */ +public class AuthResultActivity extends Activity { + MeditationAssistant ma = null; + + private static final String KEY_USER_INFO = "userInfo"; + + private AuthorizationService mAuthService; + private AuthStateManager mStateManager; + private final AtomicReference mUserInfoJson = new AtomicReference<>(); + private ExecutorService mExecutor; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + mStateManager = AuthStateManager.getInstance(this); + mExecutor = Executors.newSingleThreadExecutor(); + + AuthConfiguration config = AuthConfiguration.getInstance(this); + + mAuthService = new AuthorizationService( + this, + new AppAuthConfiguration.Builder() + .setConnectionBuilder(config.getConnectionBuilder()) + .build()); + + displayLoading("Restoring state..."); + + if (savedInstanceState != null) { + try { + mUserInfoJson.set(new JSONObject(savedInstanceState.getString(KEY_USER_INFO))); + } catch (JSONException ex) { + Log.e("MA", "Failed to parse saved user info JSON, discarding", ex); + } + } + } + + @Override + protected void onStart() { + super.onStart(); + + if (mExecutor.isShutdown()) { + mExecutor = Executors.newSingleThreadExecutor(); + } + + if (mStateManager.getCurrent().isAuthorized()) { + updateState(); + return; + } + + // the stored AuthState is incomplete, so check if we are currently receiving the result of + // the authorization flow from the browser. + AuthorizationResponse response = AuthorizationResponse.fromIntent(getIntent()); + AuthorizationException ex = AuthorizationException.fromIntent(getIntent()); + + if (response != null || ex != null) { + mStateManager.updateAfterAuthorization(response, ex); + } + + if (response != null && response.authorizationCode != null) { + // authorization code exchange is required + mStateManager.updateAfterAuthorization(response, ex); + exchangeAuthorizationCode(response); + } else if (ex != null) { + // TODO: handle failure "Authorization flow failed: " + ex.getMessage()); + } else { + // TODO: handle failure No authorization state retained - reauthorization required"); + } + } + + @Override + protected void onSaveInstanceState(Bundle state) { + // user info is retained to survive activity restarts, such as when rotating the + // device or switching apps. This isn't essential, but it helps provide a less + // jarring UX when these events occur - data does not just disappear from the view. + if (mUserInfoJson.get() != null) { + state.putString(KEY_USER_INFO, mUserInfoJson.toString()); + } + } + + @Override + protected void onDestroy() { + super.onDestroy(); + mAuthService.dispose(); + mExecutor.shutdownNow(); + } + + @MainThread + private void displayLoading(String message) { + Log.d("MA", "Auth: " + message); + } + + @MainThread + private void updateState() { + AuthState state = mStateManager.getCurrent(); + + if (state.getAccessToken() == null) { + Log.d("MA", "Access token was null: "); + // TODO: Handle auth failure, prompt to retry + finish(); + return; + } + + Long expiresAt = state.getAccessTokenExpirationTime(); + if (expiresAt != null && expiresAt < System.currentTimeMillis()) { + refreshAccessToken(); + return; + } + + Log.d("MA", "Got token"); + getMeditationAssistant().getMediNET().signInWithAuthToken(state.getAccessToken()); + finish(); + } + + @MainThread + private void refreshAccessToken() { + displayLoading("Refreshing access token"); + performTokenRequest( + mStateManager.getCurrent().createTokenRefreshRequest(), + this::handleAccessTokenResponse); + } + + @MainThread + private void exchangeAuthorizationCode(AuthorizationResponse authorizationResponse) { + displayLoading("Exchanging authorization code"); + performTokenRequest( + authorizationResponse.createTokenExchangeRequest(), + this::handleCodeExchangeResponse); + } + + @MainThread + private void performTokenRequest( + TokenRequest request, + AuthorizationService.TokenResponseCallback callback) { + ClientAuthentication clientAuthentication; + try { + clientAuthentication = mStateManager.getCurrent().getClientAuthentication(); + } catch (ClientAuthentication.UnsupportedAuthenticationMethod ex) { + Log.d("MA", "Token request cannot be made, client authentication for the token " + + "endpoint could not be constructed (%s)", ex); + // TODO handle failure Client authentication method is unsupported"); + return; + } + + mAuthService.performTokenRequest( + request, + clientAuthentication, + callback); + } + + @WorkerThread + private void handleAccessTokenResponse( + @Nullable TokenResponse tokenResponse, + @Nullable AuthorizationException authException) { + mStateManager.updateAfterTokenResponse(tokenResponse, authException); + runOnUiThread(this::updateState); + } + + @WorkerThread + private void handleCodeExchangeResponse( + @Nullable TokenResponse tokenResponse, + @Nullable AuthorizationException authException) { + + mStateManager.updateAfterTokenResponse(tokenResponse, authException); + if (!mStateManager.getCurrent().isAuthorized()) { + final String message = "Authorization Code exchange failed" + + ((authException != null) ? authException.error : ""); + + // WrongThread inference is incorrect for lambdas + //noinspection WrongThread + // TODO: Handle not authorized, show error + } else { + runOnUiThread(this::updateState); + } + } + public MeditationAssistant getMeditationAssistant() { + if (ma == null) { + ma = (MeditationAssistant) this.getApplication(); + } + return ma; + } +} \ No newline at end of file diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthStateManager.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthStateManager.java new file mode 100644 index 0000000..fd38d0f --- /dev/null +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/AuthStateManager.java @@ -0,0 +1,154 @@ +package sh.ftp.rocketninelabs.meditationassistant; + +import android.content.Context; +import android.content.SharedPreferences; +import android.support.annotation.AnyThread; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.util.Log; + +import net.openid.appauth.AuthState; +import net.openid.appauth.AuthorizationException; +import net.openid.appauth.AuthorizationResponse; +import net.openid.appauth.RegistrationResponse; +import net.openid.appauth.TokenResponse; + +import org.json.JSONException; + +import java.lang.ref.WeakReference; +import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.locks.ReentrantLock; + +/** + * An example persistence mechanism for an {@link AuthState} instance. + * This stores the instance in a shared preferences file, and provides thread-safe access and + * mutation. + */ +public class AuthStateManager { + + private static final AtomicReference> INSTANCE_REF = + new AtomicReference<>(new WeakReference(null)); + + private static final String TAG = "AuthStateManager"; + + private static final String STORE_NAME = "AuthState"; + private static final String KEY_STATE = "state"; + + private final SharedPreferences mPrefs; + private final ReentrantLock mPrefsLock; + private final AtomicReference mCurrentAuthState; + + @AnyThread + public static AuthStateManager getInstance(@NonNull Context context) { + AuthStateManager manager = INSTANCE_REF.get().get(); + if (manager == null) { + manager = new AuthStateManager(context.getApplicationContext()); + INSTANCE_REF.set(new WeakReference<>(manager)); + } + + return manager; + } + + private AuthStateManager(Context context) { + mPrefs = context.getSharedPreferences(STORE_NAME, Context.MODE_PRIVATE); + mPrefsLock = new ReentrantLock(); + mCurrentAuthState = new AtomicReference<>(); + } + + @AnyThread + @NonNull + public AuthState getCurrent() { + if (mCurrentAuthState.get() != null) { + return mCurrentAuthState.get(); + } + + AuthState state = readState(); + if (mCurrentAuthState.compareAndSet(null, state)) { + return state; + } else { + return mCurrentAuthState.get(); + } + } + + @AnyThread + @NonNull + public AuthState replace(@NonNull AuthState state) { + writeState(state); + mCurrentAuthState.set(state); + return state; + } + + @AnyThread + @NonNull + public AuthState updateAfterAuthorization( + @Nullable AuthorizationResponse response, + @Nullable AuthorizationException ex) { + AuthState current = getCurrent(); + current.update(response, ex); + return replace(current); + } + + @AnyThread + @NonNull + public AuthState updateAfterTokenResponse( + @Nullable TokenResponse response, + @Nullable AuthorizationException ex) { + AuthState current = getCurrent(); + current.update(response, ex); + return replace(current); + } + + @AnyThread + @NonNull + public AuthState updateAfterRegistration( + RegistrationResponse response, + AuthorizationException ex) { + AuthState current = getCurrent(); + if (ex != null) { + return current; + } + + current.update(response); + return replace(current); + } + + @AnyThread + @NonNull + private AuthState readState() { + mPrefsLock.lock(); + try { + String currentState = mPrefs.getString(KEY_STATE, null); + if (currentState == null) { + return new AuthState(); + } + + try { + return AuthState.jsonDeserialize(currentState); + } catch (JSONException ex) { + Log.w(TAG, "Failed to deserialize stored auth state - discarding"); + return new AuthState(); + } + } finally { + mPrefsLock.unlock(); + } + } + + @AnyThread + private void writeState(@Nullable AuthState state) { + mPrefsLock.lock(); + try { + SharedPreferences.Editor editor = mPrefs.edit(); + if (state == null) { + editor.remove(KEY_STATE); + } else { + editor.putString(KEY_STATE, state.jsonSerializeString()); + } + + if (!editor.commit()) { + throw new IllegalStateException("Failed to write state to shared prefs"); + } + } finally { + mPrefsLock.unlock(); + } + } +} diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/CompleteActivity.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/CompleteActivity.java index 4e9ae93..b1b2101 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/CompleteActivity.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/CompleteActivity.java @@ -341,7 +341,7 @@ public class CompleteActivity extends Activity { public void postMediNET(View view) { if (getMeditationAssistant().getMediNETKey() == "") { - getMeditationAssistant().showSignInDialog(this); + getMeditationAssistant().startAuth(true); return; } diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/JavaScriptInterface.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/JavaScriptInterface.java index 1fe58ac..4c66dec 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/JavaScriptInterface.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/JavaScriptInterface.java @@ -20,7 +20,7 @@ public class JavaScriptInterface implements JavascriptCallback { MeditationAssistant ma = (MeditationAssistant) this.activity .getApplication(); this.activity.finish(); - ma.getMediNET().askToSignIn(); + ma.startAuth(false); } @JavascriptInterface diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/ListPreferenceSound.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/ListPreferenceSound.java index 4f3e8d8..e9c4018 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/ListPreferenceSound.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/ListPreferenceSound.java @@ -9,7 +9,6 @@ import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Parcel; import android.os.Parcelable; -import android.os.SystemClock; import android.preference.ListPreference; import android.util.AttributeSet; import android.util.Log; diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MainActivity.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MainActivity.java index 914152e..d741d4e 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MainActivity.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MainActivity.java @@ -21,7 +21,6 @@ import android.os.Bundle; import android.os.Handler; import android.os.SystemClock; import android.support.v4.app.ActivityCompat; -import android.support.v4.content.ContextCompat; import android.text.InputType; import android.util.Log; import android.view.KeyEvent; @@ -63,7 +62,6 @@ public class MainActivity extends Activity implements OnShowcaseEventListener { public static int ID_DELAY = 77702; public static int ID_INTERVAL = 77701; public static int ID_END = 77703; - private static final int PERMISSION_REQUEST_GET_ACCOUNTS = 3001; public MeditationAssistant ma = null; SharedPreferences.OnSharedPreferenceChangeListener sharedPrefslistener = new SharedPreferences.OnSharedPreferenceChangeListener() { @@ -494,7 +492,7 @@ public class MainActivity extends Activity implements OnShowcaseEventListener { case DialogInterface.BUTTON_POSITIVE: startActivity(new Intent( Intent.ACTION_VIEW, - Uri.parse("https://medinet.ftp.sh/translate")).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); + Uri.parse("https://medinet.rocketnine.space/translate")).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)); break; @@ -2467,14 +2465,8 @@ public class MainActivity extends Activity implements OnShowcaseEventListener { ) ) .setTitle( - getString(R.string.signOutOfMediNETConfirmTitle)) - .setMessage( - String.format( - getString(R.string.signOutOfMediNETConfirm), - getMeditationAssistant() - .getMediNETProvider() - ) - ) + getString(R.string.signOut)) + .setMessage(getString(R.string.signOutOfMediNETConfirmTitle)) .setPositiveButton(getString(R.string.signOut), dialogClickListener) .setNegativeButton(getString(R.string.cancel), @@ -2486,15 +2478,7 @@ public class MainActivity extends Activity implements OnShowcaseEventListener { } public void askToSignIn() { - if (ContextCompat.checkSelfPermission(this, - Manifest.permission.GET_ACCOUNTS) - != PackageManager.PERMISSION_GRANTED) { - ActivityCompat.requestPermissions(this, - new String[]{Manifest.permission.GET_ACCOUNTS}, - PERMISSION_REQUEST_GET_ACCOUNTS); - } else { - getMeditationAssistant().getMediNET().askToSignIn(); - } + getMeditationAssistant().startAuth(false); } public void stopMediaPlayer() { @@ -2548,49 +2532,4 @@ public class MainActivity extends Activity implements OnShowcaseEventListener { public void onShowcaseViewTouchBlocked(MotionEvent motionEvent) { } - - @Override - public void onRequestPermissionsResult(int requestCode, - String permissions[], int[] grantResults) { - switch (requestCode) { - case PERMISSION_REQUEST_GET_ACCOUNTS: { - if ((grantResults.length > 0 - && grantResults[0] == PackageManager.PERMISSION_GRANTED) || !ActivityCompat.shouldShowRequestPermissionRationale(this, - Manifest.permission.GET_ACCOUNTS)) { - getMeditationAssistant().getMediNET().askToSignIn(); - } else { - AlertDialog.Builder builder = new AlertDialog.Builder(this); - builder.setIcon( - getResources() - .getDrawable( - getTheme() - .obtainStyledAttributes( - getMeditationAssistant() - .getMATheme(true), - new int[]{R.attr.actionIconSettings} - ) - .getResourceId(0, 0) - ) - ) - .setTitle(getString(R.string.permissionRequest)) - .setMessage( - getString(R.string.permissionRequestAccounts)) - .setPositiveButton(getString(R.string.tryAgain), - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - askToSignIn(); - } - }) - .setNegativeButton(getString(R.string.deny), - new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - getMeditationAssistant().getMediNET().askToSignIn(); - } - }).show(); - } - } - } - } } diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNET.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNET.java index 1ddf26b..c1529b8 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNET.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNET.java @@ -19,11 +19,11 @@ import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; -/** - * Created by root on 11/2/13. - */ public class MediNET { - public static Integer version = 5; + public static Integer version = 6; + // API v1-5 was used on pre Android 4.1 (discontinued) releases + // API v6 signifies non-discontinued (1.4.1+, Android 4.1+) app version + public String status = "disconnected"; public String result = ""; public MainActivity activity; @@ -71,46 +71,6 @@ public class MediNET { return String.valueOf(hours) + ":" + String.format("%02d", minutes); } - public void askToSignIn() { - /*if (activity == null || activity.stopped) { - Log.d("MeditationAssistant", - "MainActivity null or stopped, restarting... Stopped: " - + activity.stopped.toString());*/ - if (activity == null) { - Intent openActivity = new Intent(getMeditationAssistant() - .getApplicationContext(), MainActivity.class); - openActivity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - openActivity.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); - - handler.postDelayed(new Runnable() { - - @Override - public void run() { - Log.d("MeditationAssistant", - "Open MainActivity runnable is now running..."); - askToSignIn(); - } - }, 400); - - getMeditationAssistant().getApplicationContext().startActivity( - openActivity); - return; - } - - activity.runOnUiThread(new Runnable() { - - @Override - public void run() { - if (activity == null) { - Log.d("MeditationAssistant", - "askToSignIn activity is null, returning..."); - return; - } - getMeditationAssistant().showSignInDialog(activity); - } - }); - } - public void browseTo(MainActivity act, String page) { activity = act; browsetopage = page; @@ -129,7 +89,7 @@ public class MediNET { } }); } else { - askToSignIn(); + getMeditationAssistant().startAuth(false); } } @@ -150,7 +110,7 @@ public class MediNET { } if (getMeditationAssistant().getMediNETKey().equals("")) { - askToSignIn(); + getMeditationAssistant().startAuth(false); return false; } diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNETActivity.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNETActivity.java index b77d092..2fa3465 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNETActivity.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNETActivity.java @@ -33,7 +33,6 @@ public class MediNETActivity extends Activity { private String provider = ""; private MeditationAssistant ma = null; private Handler handler = new Handler(); - private boolean signing_in = false; private boolean hide_refresh = false; public static Intent newEmailIntent(Context context, String address, String subject, String body, String cc) { @@ -57,7 +56,7 @@ public class MediNETActivity extends Activity { TimeZone tz = TimeZone.getDefault(); Date now = new Date(); - return "https://medinet.ftp.sh/client_android.php?v=" + return "https://medinet.rocketnine.space/client_android.php?v=" + MediNET.version.toString() + "&avn=" + String.valueOf(getMeditationAssistant().getMAAppVersionNumber()) + "&page=" + page + "&th=" + ma.getMAThemeString() + "&tz=" @@ -68,20 +67,8 @@ public class MediNETActivity extends Activity { public void goTo(String go_to) { String url; - if (go_to.equals("Google") || go_to.equals("Facebook") - || go_to.equals("Twitter") || go_to.equals("AOL") - || go_to.equals("OpenID") || go_to.equals("Live") - || go_to.equals("LinkedIn")) { - setTitle(String.format(getString(R.string.signInWithProvider), - go_to)); - url = "https://medinet.ftp.sh/client_android_login.php?v=" - + MediNET.version.toString() + "&avn=" - + String.valueOf(getMeditationAssistant().getMAAppVersionNumber()) + "&provider=" + go_to; - provider = go_to; - signing_in = true; - } else if (go_to.equals("gpl") || go_to.equals("lgpl")) { + if (go_to.equals("gpl") || go_to.equals("lgpl")) { setTitle(""); - signing_in = true; hide_refresh = true; if (go_to.equals("gpl")) { @@ -90,24 +77,30 @@ public class MediNETActivity extends Activity { url = "file:///android_asset/lgpl.html"; } } else { - if (go_to.equals("community")) { - setTitle(getString(R.string.community)); - } else if (go_to.equals("sessions")) { - setTitle(getString(R.string.sessions)); - } else if (go_to.equals("account")) { - setTitle(getString(R.string.account)); - } else if (go_to.equals("forum")) { - setTitle(getString(R.string.forum)); - } else if (go_to.equals("groups")) { - setTitle(getString(R.string.groups)); - } else if (go_to.equals("signout")) { + switch (go_to) { + case "community": + setTitle(getString(R.string.community)); + break; + case "sessions": + setTitle(getString(R.string.sessions)); + break; + case "account": + setTitle(getString(R.string.account)); + break; + case "forum": + setTitle(getString(R.string.forum)); + break; + case "groups": + setTitle(getString(R.string.groups)); + break; + case "signout": - } else { - return; + break; + default: + return; } url = getPageUrl(go_to); - signing_in = false; } Log.d("MeditationAssistant", go_to + " - Going to: " + url); @@ -200,12 +193,11 @@ public class MediNETActivity extends Activity { webView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { - if (Uri.parse(url) != null && Uri.parse(url).getHost() != null && Uri.parse(url).getHost().equals("medinet.ftp.sh")) { + if (Uri.parse(url) != null && Uri.parse(url).getHost() != null && Uri.parse(url).getHost().equals("medinet.rocketnine.space")) { if (webView.getTitle() != null && !webView.getTitle().trim().equals("")) { setTitle(webView.getTitle()); } - signing_in = url.contains("/hybridauth/"); } else { /* * setTitle(String.format(getString(R.string. @@ -219,36 +211,15 @@ public class MediNETActivity extends Activity { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { - /*getMeditationAssistant().setWebViewScale( - (int) (100 * view.getScale()));*/ - Log.d("MeditationAssistant", - "Signing_in: " + String.valueOf(signing_in) + " - " - + url - ); if (url != null && url.startsWith("mailto:")) { MailTo mt = MailTo.parse(url); Intent i = newEmailIntent(MediNETActivity.this, mt.getTo(), mt.getSubject(), mt.getBody(), mt.getCc()); startActivity(i); view.reload(); return true; - /*} else if (url != null && Uri.parse(url) != null && Uri.parse(url).getHost() != null - && !Uri.parse(url).getHost() - .equals("medinet.ftp.sh") - && webView.getUrl() != null - && Uri.parse(webView.getUrl()).getHost() != null && Uri.parse(webView.getUrl()).getHost() - .equals("medinet.ftp.sh") - && !webView.getUrl().contains("provider=OpenID")) { - - Log.d("MA", "!!!!!!!!!!!!!!!!! OPENING!!!"); - Intent browserIntent = new Intent(Intent.ACTION_VIEW, - Uri.parse(url)); - startActivity(browserIntent);*/ } else { view.loadUrl(url); } - - Log.d("MA", Uri.parse(url).toString()); - Log.d("MA", Uri.parse(url).getHost()); return true; } }); @@ -275,16 +246,7 @@ public class MediNETActivity extends Activity { // webView.getSettings().setDefaultZoom(WebSettings.ZoomDensity.FAR); if (activityOnCreate) { - if (getIntent().hasExtra("provider")) { - provider = getIntent().getStringExtra("provider"); - if (provider.equals("Google") || provider.equals("Facebook") - || provider.equals("Twitter") || provider.equals("AOL") - || provider.equals("OpenID") || provider.equals("Live") - || provider.equals("LinkedIn")) { - signing_in = true; - goTo(provider); - } - } else if (getIntent().hasExtra("page") + if (getIntent().hasExtra("page") && (getIntent().getStringExtra("page").equals("community") || getIntent().getStringExtra("page").equals( "sessions") @@ -296,7 +258,6 @@ public class MediNETActivity extends Activity { "forum") || getIntent().getStringExtra("page").equals("gpl") || getIntent() .getStringExtra("page").equals("lgpl"))) { - signing_in = false; goTo(getIntent().getStringExtra("page")); } } else { @@ -414,12 +375,6 @@ public class MediNETActivity extends Activity { @Override public boolean onPrepareOptionsMenu(Menu menu) { - if (signing_in) { - menu.findItem(R.id.menuMediNET).setVisible(false); - } else { - menu.findItem(R.id.menuMediNET).setVisible(true); - } - if (hide_refresh) { menu.findItem(R.id.refreshMediNET).setVisible(false); } else { @@ -475,16 +430,7 @@ public class MediNETActivity extends Activity { getResources().getDrawable( android.R.drawable.background_holo_dark));*/ webView.getSettings(); - if (signing_in) { - webView.setBackgroundColor(Color.WHITE); - } else { - if (Build.VERSION.SDK_INT < 11) { - webView.setBackgroundColor(Color.TRANSPARENT); - } else { - // Fix background flicker - webView.setBackgroundColor(Color.argb(1, 0, 0, 0)); - } - } + webView.setBackgroundColor(Color.argb(1, 0, 0, 0)); // TODO: Is this still necessary? } } } diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNETTask.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNETTask.java index 3f375fd..4a8a183 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNETTask.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MediNETTask.java @@ -15,6 +15,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; +import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.util.ArrayList; @@ -50,7 +51,7 @@ public class MediNETTask extends AsyncTask { String appVersion = getMeditationAssistant().getMAAppVersion() + BuildConfig.FLAVOR; if (this.nextURL == null) { - this.nextURL = "https://medinet.ftp.sh/client_android.php?v=" + this.nextURL = "https://medinet.rocketnine.space/client_android.php?v=" + MediNET.version.toString() + "&av=" + appVersion + "&am=" + getMeditationAssistant().getMarketName() + "&avn=" @@ -59,7 +60,7 @@ public class MediNETTask extends AsyncTask { } if (action.equals("signin")) { - this.nextURL = "https://medinet.ftp.sh/client_android_login_oauth2.php?v=" + this.nextURL = "https://medinet.rocketnine.space/client_android_login_oauth2.php?v=" + MediNET.version.toString() + "&av=" + appVersion + "&avn=" + String.valueOf(getMeditationAssistant().getMAAppVersionNumber()) + "&tz=" @@ -130,6 +131,11 @@ public class MediNETTask extends AsyncTask { getMeditationAssistant().longToast(getMeditationAssistant().getString(R.string.sessionNotPosted)); e.printStackTrace(); } + try { + Log.i("MA", "Post data: " + getMeditationAssistant().getPostDataString(postData)); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } /* @@ -152,8 +158,8 @@ public class MediNETTask extends AsyncTask { try { URL medinetURL = new URL(this.nextURL); medinetConnection = (HttpURLConnection) medinetURL.openConnection(); - - medinetConnection.setChunkedStreamingMode(0); + medinetConnection.setReadTimeout(10000); + medinetConnection.setConnectTimeout(15000); medinetConnection.setRequestMethod("POST"); medinetConnection.setDoInput(true); medinetConnection.setDoOutput(true); @@ -162,12 +168,11 @@ public class MediNETTask extends AsyncTask { BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(os, "UTF-8")); writer.write(getMeditationAssistant().getPostDataString(postData)); - - medinetConnection.connect(); - writer.flush(); writer.close(); os.close(); + + medinetConnection.connect(); int responseCode = medinetConnection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { @@ -200,7 +205,7 @@ public class MediNETTask extends AsyncTask { if (medinetConnection.getHeaderField("x-MediNET") != null) { if (medinetConnection.getHeaderField("x-MediNET") .equals("signin")) { - this.medinet.askToSignIn(); + getMeditationAssistant().startAuth(false); } else { if (action.equals("signin") && medinetConnection.getHeaderField("x-MediNET-Key") != null) { /* Oauth2 sign in */ Log.d("MeditationAssistant", "Header key: " diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MeditationAssistant.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MeditationAssistant.java index abb5601..dd218a8 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MeditationAssistant.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/MeditationAssistant.java @@ -1,6 +1,5 @@ package sh.ftp.rocketninelabs.meditationassistant; -import android.accounts.Account; import android.accounts.AccountManager; import android.accounts.AccountManagerCallback; import android.accounts.AccountManagerFuture; @@ -23,11 +22,10 @@ import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.media.AudioManager; import android.net.Uri; +import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; -import android.os.Handler; import android.os.Looper; -import android.os.Message; import android.os.Vibrator; import android.preference.PreferenceManager; import android.provider.Settings; @@ -41,6 +39,11 @@ import android.view.WindowManager; import android.widget.ImageButton; import android.widget.Toast; +import net.openid.appauth.AuthorizationRequest; +import net.openid.appauth.AuthorizationService; +import net.openid.appauth.AuthorizationServiceConfiguration; +import net.openid.appauth.ResponseTypeValues; + import org.acra.ACRA; import org.acra.annotation.ReportsCrashes; @@ -58,7 +61,7 @@ import java.util.Map; import java.util.TimeZone; @ReportsCrashes( - formUri = "https://medinet.ftp.sh/acra/acra.php" + formUri = "https://medinet.rocketnine.space/acra/acra.php" ) public class MeditationAssistant extends Application { @@ -66,6 +69,7 @@ public class MeditationAssistant extends Application { public static String ACTION_PRESET = "sh.ftp.rocketninelabs.meditationassistant.PRESET"; public static String ACTION_REMINDER = "sh.ftp.rocketninelabs.meditationassistant.DAILY_NOTIFICATION"; public static String ACTION_UPDATED = "sh.ftp.rocketninelabs.meditationassistant.DAILY_NOTIFICATION_UPDATED"; + public static String ACTION_AUTH = "sh.ftp.rocketninelabs.meditationassistant.AUTH"; public static int REQUEST_FIT = 22; public static int MEDIA_DELAY = 1000; public Boolean debug_widgets = false; // Debug @@ -227,7 +231,7 @@ public class MeditationAssistant extends Application { return mNotificationManager.getCurrentInterruptionFilter(); } - return -1; + return 0; } public String getDurationFormatted() { @@ -333,6 +337,37 @@ public class MeditationAssistant extends Application { return medinetprovider; } + public void startAuth(boolean showToast) { + if (showToast) { + shortToast(getString(R.string.signInToMediNET)); + } + + AsyncTask.execute(() -> { + AuthorizationServiceConfiguration serviceConfiguration = new AuthorizationServiceConfiguration( + Uri.parse("https://accounts.google.com/o/oauth2/v2/auth") /* auth endpoint */, + Uri.parse("https://www.googleapis.com/oauth2/v4/token") /* token endpoint */ + ); + + String clientId = BuildConfig.GOOGLEOAUTHKEY; + Uri redirectUri = Uri.parse(BuildConfig.APPLICATION_ID + ":/oauth"); + AuthorizationRequest.Builder builder = new AuthorizationRequest.Builder( + serviceConfiguration, + clientId, + ResponseTypeValues.CODE, + redirectUri + ); + builder.setScopes("profile"); + AuthorizationRequest request = builder.build(); + + AuthorizationService authorizationService = new AuthorizationService(MeditationAssistant.this); + + authorizationService.performAuthorizationRequest( + request, + PendingIntent.getActivity(MeditationAssistant.this, 0, new Intent(MeditationAssistant.this, AuthResultActivity.class), 0), + PendingIntent.getActivity(MeditationAssistant.this, 0, new Intent(MeditationAssistant.this, AuthResultActivity.class), 0)); + }); + } + public void recalculateMeditationStreak() { Calendar dayCalendar = new GregorianCalendar(); Integer daysback = 0; @@ -1005,203 +1040,6 @@ public class MeditationAssistant extends Application { notificationManager.notify(0, notification); } - public AlertDialog showSignInDialog(final Activity activity) { - signin_activity = activity; - - AccountManager accountManager = AccountManager - .get(getApplicationContext()); - final Account[] accounts = accountManager - .getAccountsByType("com.google"); - - final int size = accounts.length; - - if (size > 0) { - String[] names = new String[size + 1]; - int i = 0; - for (i = 0; i < size; i++) { - names[i] = accounts[i].name; - } - names[i] = getString(R.string.signInWithOpenID); - - AlertDialog accountsAlertDialog = new AlertDialog.Builder(signin_activity) - .setTitle(getString(R.string.signInWith)) - .setItems(names, new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int which) { - if (which != size) { - AccountManager am = AccountManager.get(getApplicationContext()); - - if (am != null) { - am.getAuthToken(accounts[which], AUTH_TOKEN_TYPE, null, signin_activity, new OnTokenAcquired(), new Handler(new Handler.Callback() { - - public boolean handleMessage(Message msg) { - Log.d("MeditationAssistant", "on error: " + msg.what); - shortToast(getString(R.string.signInGoogleError)); - return false; - } - })); - } - } else { - showOpenIDSignInDialog(signin_activity); - } - } - }) - .create(); - accountsAlertDialog.show(); - - return accountsAlertDialog; - } else { - return showOpenIDSignInDialog(signin_activity); - } - } - - public AlertDialog showOpenIDSignInDialog(Activity activity) { - if (alertDialog != null && alertDialog.getOwnerActivity() != null - && alertDialog.getOwnerActivity() == activity) { - Log.d("MeditationAssistant", - "Attempting to reuse MediNET sign in dialog"); - - try { - if (!alertDialog.isShowing()) { - alertDialog.show(); - } - - Log.d("MeditationAssistant", "Reusing MediNET sign in dialog"); - return alertDialog; - } catch (WindowManager.BadTokenException e) { - // Activity is not in the foreground - } - } - - int[] buttons = {R.id.btnGoogle, R.id.btnFacebook, R.id.btnAOL, - R.id.btnTwitter, R.id.btnLive, R.id.btnOpenID}; - - View view = LayoutInflater.from(activity).inflate( - R.layout.medinet_signin, - (ViewGroup) activity.findViewById(R.id.medinetsignin_root)); - - for (int buttonid : buttons) { - ImageButton btn = (ImageButton) view.findViewById(buttonid); - - if (btn.getId() == R.id.btnGoogle) { - if (!getMAThemeString().equals("dark")) { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_google_light)); - } else { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_google)); - } - } else if (btn.getId() == R.id.btnFacebook) { - if (!getMAThemeString().equals("dark")) { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_facebook_light)); - } else { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_facebook)); - } - } else if (btn.getId() == R.id.btnAOL) { - if (!getMAThemeString().equals("dark")) { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_aol_light)); - } else { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_aol)); - } - } else if (btn.getId() == R.id.btnTwitter) { - if (!getMAThemeString().equals("dark")) { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_twitter_light)); - } else { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_twitter)); - } - } else if (btn.getId() == R.id.btnLive) { - if (!getMAThemeString().equals("dark")) { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_live_light)); - } else { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_live)); - } - } else if (btn.getId() == R.id.btnOpenID) { - if (!getMAThemeString().equals("dark")) { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_openid_light)); - } else { - btn.setImageDrawable(getResources().getDrawable( - R.drawable.logo_openid)); - } - } - - btn.setOnClickListener(new View.OnClickListener() { - - @Override - public void onClick(View v) { - ImageButton img = (ImageButton) v; - Intent intent = new Intent(getApplicationContext(), - MediNETActivity.class); - - if (img.getId() == R.id.btnGoogle) { - intent.putExtra("provider", "Google"); - } else if (img.getId() == R.id.btnFacebook) { - intent.putExtra("provider", "Facebook"); - } else if (img.getId() == R.id.btnAOL) { - intent.putExtra("provider", "AOL"); - } else if (img.getId() == R.id.btnTwitter) { - intent.putExtra("provider", "Twitter"); - } else if (img.getId() == R.id.btnLive) { - intent.putExtra("provider", "Live"); - } else if (img.getId() == R.id.btnOpenID) { - intent.putExtra("provider", "OpenID"); - } - intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - - if (alertDialog != null) { - try { - alertDialog.dismiss(); - } catch (Exception e) { - // Do nothing - } - } - - startActivity(intent); - } - }); - } - - alertDialog = new AlertDialog.Builder(activity) - .setView(view) - .setTitle(R.string.signInToMediNET) - .setIcon( - activity.getResources().getDrawable( - getTheme().obtainStyledAttributes(getMATheme(true), - new int[]{R.attr.actionIconForward}) - .getResourceId(0, 0) - ) - ).create(); - alertDialog - .setOnDismissListener(new DialogInterface.OnDismissListener() { - @Override - public void onDismiss(DialogInterface dialog) { - if (getMediNETKey() == "") { - getMediNET().status = "disconnected"; - getMediNET().updated(); - } - } - }); - alertDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { - @Override - public void onCancel(DialogInterface dialog) { - if (getMediNETKey() == "") { - getMediNET().status = "disconnected"; - getMediNET().updated(); - } - } - }); - - alertDialog.show(); - return alertDialog; - } - public AlertDialog showStaleDataDialog() { Log.d("MeditationAssistant", "Showing stale data dialog"); @@ -1339,31 +1177,4 @@ public class MeditationAssistant extends Application { GLOBAL_TRACKER, // Tracker used by all the apps from a company. eg: roll-up tracking. ECOMMERCE_TRACKER, // Tracker used by all ecommerce transactions from a company. } - - private class OnTokenAcquired implements AccountManagerCallback { - @Override - public void run(AccountManagerFuture result) { - - Intent launch = null; - try { - launch = (Intent) result.getResult().get(AccountManager.KEY_INTENT); - - if (launch == null) { - String authtoken = result.getResult().getString(AccountManager.KEY_AUTHTOKEN); - if (!authtoken.equals("")) { - getMediNET().signInWithAuthToken(authtoken); - } - } - } catch (OperationCanceledException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); - } catch (AuthenticatorException e) { - e.printStackTrace(); - } - if (launch != null) { - signin_activity.startActivityForResult(launch, 0); - } - } - } } \ No newline at end of file diff --git a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/SettingsActivity.java b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/SettingsActivity.java index 7673b3b..91cc06e 100644 --- a/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/SettingsActivity.java +++ b/MeditationAssistant/src/main/java/sh/ftp/rocketninelabs/meditationassistant/SettingsActivity.java @@ -331,8 +331,7 @@ public class SettingsActivity extends PreferenceActivity { @SuppressWarnings("BooleanMethodIsAlwaysInverted") private static boolean isSimplePreferences(Context context) { - return Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB - || !isXLargeTablet(context); + return !isXLargeTablet(context); } @Override @@ -497,9 +496,7 @@ public class SettingsActivity extends PreferenceActivity { public boolean onPreferenceClick(Preference arg0) { if (getMeditationAssistant().getMediNETKey().equals("")) { - getMeditationAssistant().getMediNET().askToSignIn(); - getMeditationAssistant().shortToast( - getString(R.string.signInToMediNET)); + getMeditationAssistant().startAuth(true); } else { ArrayList sessionssql = getMeditationAssistant().db.getAllLocalSessions(); @@ -529,9 +526,7 @@ public class SettingsActivity extends PreferenceActivity { @Override public boolean onPreferenceClick(Preference arg0) { if (getMeditationAssistant().getMediNETKey().equals("")) { - getMeditationAssistant().getMediNET().askToSignIn(); - getMeditationAssistant().shortToast( - getString(R.string.signInToImport)); + getMeditationAssistant().startAuth(true); } else { if (getMeditationAssistant().getTimestamp() - importsessions_lastlick > 5) { diff --git a/MeditationAssistant/src/main/res/layout/browser_selector_layout.xml b/MeditationAssistant/src/main/res/layout/browser_selector_layout.xml new file mode 100644 index 0000000..a81f9ab --- /dev/null +++ b/MeditationAssistant/src/main/res/layout/browser_selector_layout.xml @@ -0,0 +1,23 @@ + + + + + + + + \ No newline at end of file diff --git a/MeditationAssistant/src/main/res/mipmap-hdpi/ic_launcher.png b/MeditationAssistant/src/main/res/mipmap-hdpi/ic_launcher.png index 9e18f11a077cf1cb61b487caf3a4f42a45d068f6..c115a7ee0653f3ff4a7800398c10dabe7dbb493d 100644 GIT binary patch delta 3050 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 literal 5875 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 DLSZ78 delta 2221 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 Hu0mjfks8-B diff --git a/MeditationAssistant/src/main/res/mipmap-xxhdpi/ic_launcher.png b/MeditationAssistant/src/main/res/mipmap-xxhdpi/ic_launcher.png index 091450cfb862f49a93e0b6c83e8297cf7e16e8d6..b948aa9606023c6c94166a1fb008c427c9ab2a55 100644 GIT binary patch delta 6114 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 literal 14972 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 literal 24741 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ündigung - - - - + Berechtigungsanfrage + Die Berechtigung auf Ihre Google Account zugreifen zu dürfen ist als "Kontake" beachrieben. Ihre Kontake western nicht gelesen. Wenn Sie diesel Berechtigung akzeptieren müssen Sie um sich bei MediNET anzumelden Ihre Google Accountdaten nicht immer eingeben. + Diesel Berechtigung wird benötigt um einen beliebigen Ton von Ihrem Great auszuwählen. + Bitte gewähren Sie auf dem nächsten Bildschirm Zugriff um die Funktion \'Nicht stören\' kontrollieren zu können. + Verweigern Erneut versuchen @@ -104,7 +105,7 @@ Kalender Statistiken - Gesamte beim Meditieren verbrachte Zeit + Meditationsdauer ingesamt Mo Di Mi @@ -203,6 +204,8 @@ Riesig Anwendung neustarten, um neue Einstellungen anzuwenden Klingelton und Benachrichtigungen + Priorität + Nur Alarme Einstellen auf Vibration Stummschalten Tägliche Erinnerung diff --git a/MeditationAssistant/src/main/res/values-es-rUS/strings.xml b/MeditationAssistant/src/main/res/values-es-rUS/strings.xml index 683cb11..19dba6f 100644 --- a/MeditationAssistant/src/main/res/values-es-rUS/strings.xml +++ b/MeditationAssistant/src/main/res/values-es-rUS/strings.xml @@ -6,6 +6,7 @@ Acerca Si No + Borrar Sesiones Comunidad @@ -19,10 +20,19 @@ Grupos Anuncio + + + + + + + + Temporizador - - + + + Cancelar Establecer Confirmar @@ -32,48 +42,70 @@ Ende Pausa o ende Sesión pausada, mantener para terminar - + Conectando... Conectando a MediNET Sesión en progreso Progreso - - + + + + + + + + Terminar %s Terminar en - - + + Terminar %s - - + + Versión %s Traducir + + + Como meditar Compartir - + Sesión - + + + + + + - + Mensaje - - - a momento - + + + + + + + + - + + + + - - + + + Lun Mar Mie @@ -82,23 +114,145 @@ Sab Dom Añadir sesión - - + + Iniciado Completado + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + %s time + %s times + %s sesión importado %s sesiones importado + + Uploaded %s session + Uploaded %s sessions + + + + + + + %d day + %d days + %d día de meditación %d días de meditación @@ -108,6 +262,15 @@ días de meditación + + + + + + + + + Asistente de meditación 1x1 diff --git a/MeditationAssistant/src/main/res/values-nb/strings.xml b/MeditationAssistant/src/main/res/values-nb/strings.xml new file mode 100644 index 0000000..e870dea --- /dev/null +++ b/MeditationAssistant/src/main/res/values-nb/strings.xml @@ -0,0 +1,262 @@ + + + + Meditasjonsassistent Gratis + Meditasjonsassistent + Om + Ja + Nei + Åpne med + Slett + Økter + Fellesskap + Forum + Ranger + Oppdater + Side + Tilbake + Fremover + Konto + Grupper + Kunngjøringer + + + Forespørsel om tillatelse + Tillatelsen som gir tilgang til Google-kontoen din kalles "Kontakter". Kontaktene dine vil ikke bli lest.\n\nHvis du gir denne tilgangen slipper du å skrive inn brukernavnet og passordet til Google-kontoen din når du logger på MediNET + Tillatelsen trengs for å kunne velge andre lydfiler fra enheten. + Vennligst gi tillatelse i neste steg for å kunne kontrollere "Ikke forstyrr" + Nekt + Prøv igjen + + + Tidtaker + Akkurat nå er tidtakeren stilt inn på 15 minutter. Du kan endre varigheten, sette den til å stoppe på et visst klokkeslett eller slå av alarmen helt. Trykk på tidtakeren nå for å se disse mulighetene. + Denne applikasjonen tilbyr mange funksjoner og tilpasningsmuligheter, blant annet å sette enheten i stillemodus automatisk og å gi deg daglig påminnelse om å meditere. Trykk på innstillingsikonet nå for å se disse mulighetene. + Logg på MediNET for å lagre øktene dine på nett. Hvis du gjør det kan du importere øktene dine igjen hvis de blir borte fra enheten din. Denne funksjonen er helt valgfri; å lagre øktene lokalt vil ikke gå ut over bruksopplevelsen.\n\nOg med det er denne introduksjonen over. Jeg håper at du får mye ut av Meditasjonsassistenten. + Avbryt + Sett + Bekreft + Mediter + Hopp over + Pause + Avslutt + Pause eller avslutt + Gjenoppta eller avslutt + Økt satt på pause, hold for å avslutte + Kobler til... + Koble til MediNET + Økt pågår + Fremgang + Bruk forhåndsvalg + Hold for å bruke forhåndsvalg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MeditationAssistant/src/main/res/values/strings.xml b/MeditationAssistant/src/main/res/values/strings.xml index 0bde460..252f73a 100644 --- a/MeditationAssistant/src/main/res/values/strings.xml +++ b/MeditationAssistant/src/main/res/values/strings.xml @@ -97,6 +97,8 @@ Session deleted locally + Browser + Use browser: Sign in with… Sign in with %s… OpenID - Facebook, Twitter, etc. @@ -248,7 +250,6 @@ Local data is up to date - Sign in to import session data %d day @@ -268,7 +269,6 @@ Sign out Sign out of MediNET Sign out of MediNET? - You are signed in with %s. Rate Meditation Assistant If you have found this application beneficial to your meditation practice, would you please add a rating?\n\nThe paid version of this app contains no ads and features home screen widgets. Please consider purchasing it if you are able to.\n\nThis dialog will not appear again. Would you please help Meditation Assistant reach a wider audience by translating it into another language?\n\nTranslating is eaily done through an online interface. You can visit the translation webpage later by clicking Translate from the About window.\n\nThis dialog will not appear again. diff --git a/MeditationAssistant/src/shared/java/sh/ftp/rocketninelabs/meditationassistant/WearListenerService.java b/MeditationAssistant/src/shared/java/sh/ftp/rocketninelabs/meditationassistant/WearListenerService.java index ac99180..9dda62c 100644 --- a/MeditationAssistant/src/shared/java/sh/ftp/rocketninelabs/meditationassistant/WearListenerService.java +++ b/MeditationAssistant/src/shared/java/sh/ftp/rocketninelabs/meditationassistant/WearListenerService.java @@ -1,7 +1,7 @@ package sh.ftp.rocketninelabs.meditationassistant; +/* import android.util.Log; - import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.common.data.FreezableUtils; @@ -50,6 +50,6 @@ public class WearListenerService extends WearableListenerService { // Send the RPC Wearable.MessageApi.sendMessage(googleApiClient, nodeId, DATA_ITEM_RECEIVED_PATH, payload); - }*/ + } } -} \ No newline at end of file +}*/ diff --git a/MeditationAssistantWear/build.gradle b/MeditationAssistantWear/build.gradle index b31a4d6..58f93f9 100644 --- a/MeditationAssistantWear/build.gradle +++ b/MeditationAssistantWear/build.gradle @@ -1,36 +1,37 @@ -buildscript { - repositories { - mavenCentral() - } +/*buildscript { dependencies { - classpath 'com.android.tools.build:gradle:2.2.1' + classpath 'com.android.tools.build:gradle:2.3.3' } } apply plugin: 'com.android.application' +repositories { + maven { + url "https://maven.google.com" + } + jcenter() +} + android { - compileSdkVersion 24 - buildToolsVersion '24.0.1' + compileSdkVersion 26 + buildToolsVersion '26.0.1' defaultConfig { minSdkVersion 20 - targetSdkVersion 24 + targetSdkVersion 26 versionCode 1 versionName "1.0" } buildTypes { release { - minifyEnabled false /* Docs say to not compress wear APK */ + minifyEnabled false /* Docs say to not compress wear APK *//* proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { - compile 'com.android.support:support-v4:24.2.0' - - compile 'com.google.android.support:wearable:1.1.0' - compile 'com.google.android.gms:play-services-wearable:9.4.0' -} + compile 'com.google.android.gms:play-services-wearable:11.0.4' +}*/ diff --git a/MeditationAssistantWear/src/main/res/mipmap-hdpi/ic_launcher.png b/MeditationAssistantWear/src/main/res/mipmap-hdpi/ic_launcher.png index 9e18f11a077cf1cb61b487caf3a4f42a45d068f6..5e44dd93edd938fb1c7e5662208c8e38fe5258db 100644 GIT binary patch literal 3898 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 IM6N<$f_(pIiU0rr literal 5875 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 delta 3608 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 literal 9565 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 Hu0mjfks8-B diff --git a/MeditationAssistantWear/src/main/res/mipmap-xxhdpi/ic_launcher.png b/MeditationAssistantWear/src/main/res/mipmap-xxhdpi/ic_launcher.png index 091450cfb862f49a93e0b6c83e8297cf7e16e8d6..95ee2d13d0862fafdf97874db64b5a3e4def25a1 100644 GIT binary patch literal 8385 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 literal 24741 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