Skip to content

Commit

Permalink
converted projects to JobIntentService and notification channels
Browse files Browse the repository at this point in the history
  • Loading branch information
commonsguy committed Feb 25, 2018
1 parent f4711ea commit 1897edc
Show file tree
Hide file tree
Showing 37 changed files with 400 additions and 276 deletions.
14 changes: 7 additions & 7 deletions Backup/BackupClient/app/build.gradle
@@ -1,20 +1,20 @@
apply plugin: 'com.android.application' apply plugin: 'com.android.application'


dependencies { dependencies {
implementation 'io.karim:materialtabs:2.0.2' implementation 'io.karim:materialtabs:2.0.5'
implementation 'org.greenrobot:eventbus:3.0.0' implementation 'org.greenrobot:eventbus:3.0.0'
implementation 'com.squareup.okhttp:okhttp:2.5.0' implementation 'com.squareup.okhttp:okhttp:2.5.0'
implementation 'com.google.code.gson:gson:2.4' implementation 'com.google.code.gson:gson:2.8.2'
implementation 'com.android.support:support-v13:25.1.0' implementation 'com.android.support:support-v13:27.0.2'
} }


android { android {
compileSdkVersion 25 compileSdkVersion 27
buildToolsVersion '26.0.2' buildToolsVersion '27.0.3'


defaultConfig { defaultConfig {
minSdkVersion 19 minSdkVersion 15
targetSdkVersion 25 targetSdkVersion 27
} }


buildTypes { buildTypes {
Expand Down
29 changes: 16 additions & 13 deletions Backup/BackupClient/app/src/main/AndroidManifest.xml
@@ -1,38 +1,41 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<manifest <manifest package="com.commonsware.android.backup"
package="com.commonsware.android.backup"
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1" android:versionCode="1"
android:versionName="1.0"> android:versionName="1.0">


<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET" />


<supports-screens <supports-screens
android:anyDensity="true" android:anyDensity="true"
android:largeScreens="true" android:largeScreens="true"
android:normalScreens="true" android:normalScreens="true"
android:smallScreens="true"/> android:smallScreens="true" />


<application <application
android:fullBackupContent="@xml/backup_rules"
android:icon="@drawable/ic_launcher" android:icon="@drawable/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:theme="@style/Theme.Apptheme" android:theme="@style/Theme.Apptheme">
android:fullBackupContent="@xml/backup_rules">
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:label="@string/app_name"> android:label="@string/app_name">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN" />


<category android:name="android.intent.category.LAUNCHER"/> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<activity android:name=".RestoreRosterActivity"/> <activity android:name=".RestoreRosterActivity" />
<activity android:name=".RestoreProgressActivity"/> <activity android:name=".RestoreProgressActivity" />


<service android:name=".BackupService"/> <service
<service android:name=".RestoreService"/> android:name=".BackupService"
android:permission="android.permission.BIND_JOB_SERVICE" />
<service
android:name=".RestoreService"
android:permission="android.permission.BIND_JOB_SERVICE" />
</application> </application>


</manifest> </manifest>
Expand Up @@ -14,11 +14,11 @@


package com.commonsware.android.backup; package com.commonsware.android.backup;


import android.app.IntentService;
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.hardware.Camera; import android.support.annotation.NonNull;
import android.support.v4.app.JobIntentService;
import android.util.Log; import android.util.Log;
import com.squareup.okhttp.MediaType; import com.squareup.okhttp.MediaType;
import com.squareup.okhttp.OkHttpClient; import com.squareup.okhttp.OkHttpClient;
Expand All @@ -33,7 +33,8 @@
import java.util.zip.ZipEntry; import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream; import java.util.zip.ZipOutputStream;


public class BackupService extends IntentService { public class BackupService extends JobIntentService {
private static final int UNIQUE_JOB_ID=1338;
static final OkHttpClient OKHTTP_CLIENT=new OkHttpClient(); static final OkHttpClient OKHTTP_CLIENT=new OkHttpClient();
static final String ZIP_PREFIX_FILES="files/"; static final String ZIP_PREFIX_FILES="files/";
static final String ZIP_PREFIX_PREFS="shared_prefs/"; static final String ZIP_PREFIX_PREFS="shared_prefs/";
Expand All @@ -56,12 +57,13 @@ static File getSharedPrefsDir(Context ctxt) {
"shared_prefs")); "shared_prefs"));
} }


public BackupService() { static void enqueueWork(Context ctxt) {
super("BackupService"); enqueueWork(ctxt, BackupService.class, UNIQUE_JOB_ID,
new Intent(ctxt, BackupService.class));
} }


@Override @Override
protected void onHandleIntent(Intent intent) { public void onHandleWork(@NonNull Intent i) {
try { try {
File backup=buildBackup(); File backup=buildBackup();


Expand Down
Expand Up @@ -39,11 +39,11 @@ public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.main); setContentView(R.layout.main);


pager=(ViewPager)findViewById(R.id.pager); pager=findViewById(R.id.pager);
pager.setAdapter( pager.setAdapter(
new SampleAdapter(this, getFragmentManager())); new SampleAdapter(this, getFragmentManager()));


MaterialTabs tabs=(MaterialTabs)findViewById(R.id.tabs); MaterialTabs tabs=findViewById(R.id.tabs);
tabs.setViewPager(pager); tabs.setViewPager(pager);
} }


Expand Down Expand Up @@ -82,7 +82,7 @@ public boolean onCreateOptionsMenu(Menu menu) {
@Override @Override
public boolean onOptionsItemSelected(MenuItem item) { public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId()==R.id.backup) { if (item.getItemId()==R.id.backup) {
startService(new Intent(this, BackupService.class)); BackupService.enqueueWork(this);


return(true); return(true);
} }
Expand Down
Expand Up @@ -29,11 +29,7 @@ protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.progress); setContentView(R.layout.progress);


if (savedInstanceState==null) { if (savedInstanceState==null) {
Intent i= RestoreService.enqueueWork(this);
new Intent(this, RestoreService.class)
.setData(getIntent().getData());

startService(i);
} }
} }


Expand Down
Expand Up @@ -14,17 +14,17 @@


package com.commonsware.android.backup; package com.commonsware.android.backup;


import android.app.Activity;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.FragmentActivity;


public class RestoreRosterActivity extends Activity { public class RestoreRosterActivity extends FragmentActivity {
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);


if (getFragmentManager() if (getSupportFragmentManager()
.findFragmentById(android.R.id.content)==null) { .findFragmentById(android.R.id.content)==null) {
getFragmentManager().beginTransaction() getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, .add(android.R.id.content,
new RestoreRosterFragment()).commit(); new RestoreRosterFragment()).commit();
} }
Expand Down
Expand Up @@ -14,10 +14,10 @@


package com.commonsware.android.backup; package com.commonsware.android.backup;


import android.app.ListFragment;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.widget.ArrayAdapter; import android.widget.ArrayAdapter;
Expand Down
Expand Up @@ -14,8 +14,10 @@


package com.commonsware.android.backup; package com.commonsware.android.backup;


import android.app.IntentService; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.annotation.NonNull;
import android.support.v4.app.JobIntentService;
import android.util.Log; import android.util.Log;
import com.squareup.okhttp.Request; import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response; import com.squareup.okhttp.Response;
Expand All @@ -24,13 +26,16 @@
import okio.BufferedSink; import okio.BufferedSink;
import okio.Okio; import okio.Okio;


public class RestoreService extends IntentService { public class RestoreService extends JobIntentService {
public RestoreService() { private static final int UNIQUE_JOB_ID=1337;
super("RestoreService");
static void enqueueWork(Context ctxt) {
enqueueWork(ctxt, RestoreService.class, UNIQUE_JOB_ID,
new Intent(ctxt, RestoreService.class));
} }


@Override @Override
protected void onHandleIntent(Intent i) { public void onHandleWork(@NonNull Intent i) {
Request request=new Request.Builder() Request request=new Request.Builder()
.url(i.getData().toString()) .url(i.getData().toString())
.build(); .build();
Expand Down
27 changes: 11 additions & 16 deletions EventBus/GreenRobot3/app/build.gradle
@@ -1,24 +1,19 @@
apply plugin: 'com.android.application' apply plugin: 'com.android.application'


repositories {
maven {
url "https://s3.amazonaws.com/repo.commonsware.com"
}
}

dependencies { dependencies {
implementation 'org.greenrobot:eventbus:3.0.0' implementation 'org.greenrobot:eventbus:3.0.0'
implementation 'com.android.support:support-v13:24.2.0' implementation "com.android.support:support-v13:27.0.2"
implementation 'com.commonsware.cwac:wakeful:1.0.+'
} }


android { android {
compileSdkVersion 24 compileSdkVersion 27
buildToolsVersion '26.0.2' buildToolsVersion '27.0.3'


defaultConfig { defaultConfig {
minSdkVersion 15 minSdkVersion 15
targetSdkVersion 24 targetSdkVersion 27
applicationId 'com.commonsware.android.eventbus.greenrobot3' applicationId 'com.commonsware.android.eventbus.greenrobot3'
} }
} }


4 changes: 3 additions & 1 deletion EventBus/GreenRobot3/app/src/main/AndroidManifest.xml
Expand Up @@ -28,7 +28,9 @@
</intent-filter> </intent-filter>
</receiver> </receiver>


<service android:name="ScheduledService"/> <service
android:name="ScheduledService"
android:permission="android.permission.BIND_JOB_SERVICE" />
</application> </application>


</manifest> </manifest>
Expand Up @@ -14,16 +14,16 @@


package com.commonsware.android.eventbus.greenrobot; package com.commonsware.android.eventbus.greenrobot;


import android.app.Activity; import android.support.v4.app.FragmentActivity;
import android.os.Bundle; import android.os.Bundle;


public class EventDemoActivity extends Activity { public class EventDemoActivity extends FragmentActivity {
@Override @Override
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);


if (getFragmentManager().findFragmentById(android.R.id.content) == null) { if (getSupportFragmentManager().findFragmentById(android.R.id.content) == null) {
getFragmentManager().beginTransaction() getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, .add(android.R.id.content,
new EventLogFragment()).commit(); new EventLogFragment()).commit();


Expand Down
Expand Up @@ -15,7 +15,7 @@
package com.commonsware.android.eventbus.greenrobot; package com.commonsware.android.eventbus.greenrobot;


import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.app.ListFragment; import android.support.v4.app.ListFragment;
import android.os.Bundle; import android.os.Bundle;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
Expand Down
Expand Up @@ -20,16 +20,15 @@
import android.content.Context; import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.os.SystemClock; import android.os.SystemClock;
import com.commonsware.cwac.wakeful.WakefulIntentService;


public class PollReceiver extends BroadcastReceiver { public class PollReceiver extends BroadcastReceiver {
private static final int PERIOD=15000; // 15 seconds private static final int PERIOD=60000; // 1 minute
private static final int INITIAL_DELAY=1000; // 1 second private static final int INITIAL_DELAY=5000; // 5 seconds


@Override @Override
public void onReceive(Context ctxt, Intent i) { public void onReceive(Context ctxt, Intent i) {
if (i.getAction() == null) { if (i.getAction() == null) {
WakefulIntentService.sendWakefulWork(ctxt, ScheduledService.class); ScheduledService.enqueueWork(ctxt);
} }
else { else {
scheduleAlarms(ctxt); scheduleAlarms(ctxt);
Expand Down

0 comments on commit 1897edc

Please sign in to comment.