Skip to content

Commit

Permalink
Added sample for schemes based on build variants(#9)
Browse files Browse the repository at this point in the history
* Added sample for difference schemes based on build variants

Closed #8

* Removed a unused manifest placeholder
  • Loading branch information
drakeet authored Sep 20, 2017
1 parent 39f0ec9 commit b2ab784
Show file tree
Hide file tree
Showing 7 changed files with 76 additions and 14 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class App extends Application {
mappings.put("m.drakeet.me/home", new Target("floo://drakeet.sdk/target"));
mappings.put("m.drakeet.me/link", new Target("floo://drakeet.sdk/target"));
mappings.put("m.drakeet.me/web", new Target("floo://drakeet.sdk/web"));
mappings.put("m.drakeet.me/container", new Target("demo://m.drakeet.me/container"));
mappings.put("m.drakeet.me/container", new Target("floo://m.drakeet.me/container"));

Floo.configuration()
.setDebugEnabled(BuildConfig.DEBUG)
Expand Down
2 changes: 1 addition & 1 deletion README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public class App extends Application {
mappings.put("m.drakeet.me/home", new Target("floo://drakeet.sdk/target"));
mappings.put("m.drakeet.me/link", new Target("floo://drakeet.sdk/target"));
mappings.put("m.drakeet.me/web", new Target("floo://drakeet.sdk/web"));
mappings.put("m.drakeet.me/container", new Target("demo://m.drakeet.me/container"));
mappings.put("m.drakeet.me/container", new Target("floo://m.drakeet.me/container"));

Floo.configuration()
.setDebugEnabled(BuildConfig.DEBUG)
Expand Down
26 changes: 26 additions & 0 deletions sample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,13 @@

apply plugin: 'com.android.application'

def releaseKey = file('release.jks')
def debugKey = file('debug.jks')

android {
compileSdkVersion 25
buildToolsVersion '26.0.1'

defaultConfig {
applicationId "me.drakeet.floo.sample"
minSdkVersion 9
Expand All @@ -27,8 +31,30 @@ android {
versionName "1.0.2.2"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

signingConfigs {
debug {
storeFile debugKey
storePassword '123456'
keyAlias 'debug'
keyPassword '123456'
}
release {
storeFile releaseKey
storePassword project.hasProperty('FLOO_STOREPASS') ? FLOO_STOREPASS : ''
keyAlias project.hasProperty('FLOO_KEYALIAS') ? FLOO_KEYALIAS : ''
keyPassword project.hasProperty('FLOO_KEYPASS') ? FLOO_KEYPASS : ''
}
}

buildTypes {
debug {
versionNameSuffix " debug"
applicationIdSuffix ".debug"
resValue "string", "scheme", "floo-debug"
}
release {
resValue "string", "scheme", "floo"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
Expand Down
Binary file added sample/debug.jks
Binary file not shown.
16 changes: 8 additions & 8 deletions sample/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@
<category android:name="android.intent.category.BROWSABLE"/>

<data
android:scheme="@string/scheme"
android:host="drakeet.sdk"
android:path="/target"
android:scheme="floo"/>
android:path="/target"/>
</intent-filter>
</activity>

Expand All @@ -63,9 +63,9 @@
<category android:name="android.intent.category.BROWSABLE"/>

<data
android:scheme="@string/scheme"
android:host="drakeet.sdk"
android:path="/web"
android:scheme="floo"/>
android:path="/web"/>
</intent-filter>
</activity>

Expand All @@ -77,9 +77,9 @@
<category android:name="android.intent.category.BROWSABLE"/>

<data
android:scheme="@string/scheme"
android:host="m.drakeet.me"
android:path="/container"
android:scheme="demo"/>
android:path="/container"/>
</intent-filter>
</activity>

Expand All @@ -91,9 +91,9 @@
<category android:name="android.intent.category.BROWSABLE"/>

<data
android:scheme="@string/scheme"
android:host="m.drakeet.me"
android:path="/not_registered"
android:scheme="demo"/>
android:path="/not_registered"/>
</intent-filter>
</activity>

Expand Down
32 changes: 29 additions & 3 deletions sample/src/main/java/me/drakeet/floo/sample/App.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,13 @@
package me.drakeet.floo.sample;

import android.app.Application;
import me.drakeet.floo.Floo;
import me.drakeet.floo.Target;
import android.support.annotation.NonNull;
import java.util.HashMap;
import java.util.Map;
import me.drakeet.floo.Chain;
import me.drakeet.floo.Floo;
import me.drakeet.floo.Interceptor;
import me.drakeet.floo.Target;
import me.drakeet.floo.extensions.LogInterceptor;
import me.drakeet.floo.extensions.OpenDirectlyHandler;

Expand All @@ -37,18 +40,41 @@ public void onCreate() {
mappings.put("m.drakeet.me/home", new Target("floo://drakeet.sdk/target"));
mappings.put("m.drakeet.me/link", new Target("floo://drakeet.sdk/target"));
mappings.put("m.drakeet.me/web", new Target("floo://drakeet.sdk/web"));
mappings.put("m.drakeet.me/container", new Target("demo://m.drakeet.me/container"));
mappings.put("m.drakeet.me/container", new Target("floo://m.drakeet.me/container"));
mappings.put("mosaic.chunchun.io:8080", new Target("https://play.google.com/store/apps/details?id=me.drakeet.puremosaic"));
mappings.put("PureWriter", new Target("https://play.google.com/store/apps/details?id=com.drakeet.purewriter"));

Floo.configuration()
.setDebugEnabled(true)
.addRequestInterceptor(new PureSchemeInterceptor(getString(R.string.scheme)))
.addRequestInterceptor(new LogInterceptor("Request"))
.addTargetInterceptor(new PureSchemeInterceptor(getString(R.string.scheme)))
.addTargetInterceptor(new LogInterceptor("Target"))
.addTargetNotFoundHandler(new WebHandler())
.addTargetNotFoundHandler(new OpenDirectlyHandler())
.addTargetNotFoundHandler(new TargetNotFoundToaster());

Floo.apply(mappings);
}


private static class PureSchemeInterceptor implements Interceptor {

private @NonNull final String scheme;


private PureSchemeInterceptor(@NonNull String scheme) {
this.scheme = scheme;
}


@NonNull
@Override
public Chain intercept(@NonNull Chain chain) {
if (BuildConfig.DEBUG && URLs.scheme().equals(chain.request().getScheme())) {
chain = new Chain(chain.request().buildUpon().scheme(scheme).build());
}
return chain;
}
}
}
12 changes: 11 additions & 1 deletion sample/src/main/java/me/drakeet/floo/sample/URLs.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,21 @@

package me.drakeet.floo.sample;

import android.support.annotation.NonNull;

/**
* @author drakeet
*/
public class URLs {

private static final String MAIN_SCHEME = "floo";

public static final String WEB = "https://m.drakeet.me/web";
public static final String NOT_REGISTERED = "demo://m.drakeet.me/not_registered";
public static final String NOT_REGISTERED = "floo://m.drakeet.me/not_registered";


@NonNull
public static String scheme() {
return MAIN_SCHEME;
}
}

0 comments on commit b2ab784

Please sign in to comment.