Skip to content
This repository has been archived by the owner on Apr 17, 2023. It is now read-only.

Update Shoot and Share to Android N #68

Merged
merged 14 commits into from Nov 10, 2016
24 changes: 18 additions & 6 deletions ShootAndShare/app/build.gradle
@@ -1,16 +1,25 @@
apply plugin: 'com.android.application'

android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
compileSdkVersion 25
buildToolsVersion "25.0.0"


defaultConfig {
applicationId "org.jboss.aerogear.android.cookbook.shootandshare"
minSdkVersion 16
targetSdkVersion 23
targetSdkVersion 25
versionCode 4
versionName "3.0.0"

jackOptions {
enabled true
}
}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

lintOptions {
Expand All @@ -26,8 +35,11 @@ android {
}

dependencies {
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:support-v13:25.0.0'
compile 'org.jboss.aerogear:aerogear-android-authz:3.0.1'
compile 'com.squareup.picasso:picasso:2.3.4'
compile ('com.android.support:appcompat-v7:23.+')
compile ('org.jboss.aerogear:aerogear-android-authz:3.0.1')

compile 'com.afollestad:material-camera:0.4.4'
compile 'com.github.hotchemi:permissionsdispatcher:2.2.0'
annotationProcessor 'com.github.hotchemi:permissionsdispatcher-processor:2.2.0'
}

This file was deleted.

13 changes: 11 additions & 2 deletions ShootAndShare/app/src/main/AndroidManifest.xml
Expand Up @@ -7,9 +7,10 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<application
android:allowBackup="true"
android:allowBackup="false"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
Expand All @@ -21,9 +22,17 @@
</activity>
<activity android:name=".ui.PhotoActivity" />

<service android:name="org.jboss.aerogear.android.authorization.oauth2.OAuth2AuthzService"/>
<activity
android:name="com.afollestad.materialcamera.CaptureActivity"
android:theme="@style/MaterialCamera.CaptureActivity" />
<activity
android:name="com.afollestad.materialcamera.CaptureActivity2"
android:theme="@style/MaterialCamera.CaptureActivity" />

<service android:name="org.jboss.aerogear.android.authorization.oauth2.OAuth2AuthzService" />
<service android:name=".service.UploadService" />

</application>


</manifest>
Expand Up @@ -43,7 +43,7 @@ public final class UploadService extends Service {
public static final String FILE_URI = "UploadService.FILE_URI";
public static final String PROVIDER = "UploadService.PROVIDER";

public static enum PROVIDERS {GOOGLE, KEYCLOAK, FACEBOOK}
public enum PROVIDERS {GOOGLE, KEYCLOAK, FACEBOOK}

private static final AtomicInteger notificationCount = new AtomicInteger(1);

Expand All @@ -55,53 +55,51 @@ public UploadService() {
handler = new Handler(thread.getLooper());
}

@SuppressWarnings("unchecked")
@Override
public int onStartCommand(final Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);

handler.post(new Runnable() {
@Override
public void run() {
int id = 0;
try {

Bundle extras = intent.getExtras();

String fileName = extras.getString(FILE_URI);
String providerName = extras.getString(PROVIDER);

if (fileName == null) {
displayErrorNotification("No file provided", 0);
return;
}

if (providerName == null) {
displayErrorNotification("No provider selected", 0);
return;
}

PROVIDERS provider = PROVIDERS.valueOf(providerName);
File file = new File(fileName);
id = displayUploadNotification(fileName);

switch (provider) {

case GOOGLE:
PipeManager.getPipe("gp-upload").save(new PhotoHolder(file), new UploadCallback(id));
break;
case KEYCLOAK:
PipeManager.getPipe("kc-upload").save(new PhotoHolder(file), new UploadCallback(id));
break;
case FACEBOOK:
PipeManager.getPipe("fb-upload").save(new PhotoHolder(file), new UploadCallback(id));
break;
}

} catch (Exception e) {
displayErrorNotification(e.getMessage(), id);
handler.post(() -> {
int id = 0;
try {

Bundle extras = intent.getExtras();

String fileName = extras.getString(FILE_URI);
String providerName = extras.getString(PROVIDER);

if (fileName == null) {
displayErrorNotification("No file provided", 0);
return;
}

if (providerName == null) {
displayErrorNotification("No provider selected", 0);
return;
}

PROVIDERS provider = PROVIDERS.valueOf(providerName);
File file = new File(fileName);
id = displayUploadNotification(fileName);

switch (provider) {

case GOOGLE:
PipeManager.getPipe("gp-upload").save(new PhotoHolder(file), new UploadCallback(id));
break;
case KEYCLOAK:
PipeManager.getPipe("kc-upload").save(new PhotoHolder(file), new UploadCallback(id));
break;
case FACEBOOK:
PipeManager.getPipe("fb-upload").save(new PhotoHolder(file), new UploadCallback(id));
break;
}

} catch (Exception e) {
displayErrorNotification(e.getMessage(), id);
}

});

return START_NOT_STICKY;
Expand Down