Skip to content
This repository has been archived by the owner on Jan 14, 2021. It is now read-only.

Commit

Permalink
GUI updates + autostart jobmanager after update
Browse files Browse the repository at this point in the history
  • Loading branch information
hexadec committed Jan 10, 2018
1 parent e3d7d35 commit 4985df6
Show file tree
Hide file tree
Showing 8 changed files with 48 additions and 10 deletions.
4 changes: 2 additions & 2 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
applicationId "hu.kfg.naplo"
minSdkVersion 21
targetSdkVersion 25
versionCode 1600
versionName "0.16-build0"
versionCode 1601
versionName "0.16-build1"
}
buildTypes {
release {
Expand Down
7 changes: 5 additions & 2 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
android:label="@string/main_activity"
android:documentLaunchMode="intoExisting">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand All @@ -33,7 +34,9 @@

<activity
android:name=".TableViewActivity"
android:label="@string/title_activity_table_view">
android:label="@string/title_activity_table_view"
android:icon="@drawable/grades_launcher"
android:documentLaunchMode="intoExisting">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
9 changes: 8 additions & 1 deletion app/src/main/java/hu/kfg/naplo/ChangeListener.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package hu.kfg.naplo;

import android.app.job.JobScheduler;
import android.content.*;
import android.preference.*;

Expand Down Expand Up @@ -34,9 +35,15 @@ public void onReceive(final Context context, final Intent intent){
return;
}
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
JobManagerService.scheduleJob(context);
JobManagerService.scheduleJob(context, true);
return;
}
if (intent.hasExtra("triggered")) {
JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
if (jobScheduler.getAllPendingJobs()!=null&&jobScheduler.getAllPendingJobs().size()==0) {
JobManagerService.scheduleJob(context,false);
}
}
if (!intent.hasExtra("runnomatterwhat")){
if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)&&!pref.getBoolean("nightmode",false)) {
return;
Expand Down
5 changes: 3 additions & 2 deletions app/src/main/java/hu/kfg/naplo/JobManagerService.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
import android.os.IBinder;
import android.os.PowerManager;
import android.preference.PreferenceManager;
Expand Down Expand Up @@ -61,11 +62,11 @@ public boolean onStopJob(JobParameters params) {
public static void scheduleJob(Context context, boolean nighttime) {
SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(context);
long repeate = Long.valueOf(pref.getString("auto_check_interval","300"))*MINUTE;
repeate /= nighttime?4:1;
repeate /= nighttime&&Build.VERSION.SDK_INT>=26?8:1;
ComponentName serviceComponent = new ComponentName(context, JobManagerService.class);
JobInfo.Builder builder = new JobInfo.Builder(0, serviceComponent);
builder.setMinimumLatency(repeate-MINUTE*20);
builder.setOverrideDeadline(repeate+MINUTE*30);
builder.setOverrideDeadline(repeate+MINUTE*40);
builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
JobScheduler jobScheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
jobScheduler.schedule(builder.build());
Expand Down
19 changes: 16 additions & 3 deletions app/src/main/java/hu/kfg/naplo/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ protected void onCreate(Bundle savedInstanceState)
if (url2.getText()!=null){
if (url2.getText().length()>=URL_MIN_LENGTH){
url2.setSummary(getString(R.string.click2edit));
} else {
findPreference("grades").setEnabled(false);
}
}
if (!notify2.isChecked()){
Expand All @@ -49,7 +51,7 @@ protected void onCreate(Bundle savedInstanceState)
if (jobScheduler.getAllPendingJobs()!=null&&jobScheduler.getAllPendingJobs().size()>0) {
jobScheduler.cancelAll();
}
JobManagerService.scheduleJob(this);
JobManagerService.scheduleJob(this,false);
}
if (!prefs.getBoolean("inst",false)) {
AlertDialog.Builder builder1 = new AlertDialog.Builder(this);
Expand Down Expand Up @@ -114,7 +116,7 @@ public boolean onPreferenceChange(Preference pref, Object obj){
if (jobScheduler.getAllPendingJobs()!=null&&jobScheduler.getAllPendingJobs().size()>0) {
jobScheduler.cancelAll();
}
JobManagerService.scheduleJob(MainActivity.this);
JobManagerService.scheduleJob(MainActivity.this, false);
} else {
JobScheduler jobScheduler = (JobScheduler) MainActivity.this.getSystemService(Context.JOB_SCHEDULER_SERVICE);
if (jobScheduler.getAllPendingJobs()!=null&&jobScheduler.getAllPendingJobs().size()>0) {
Expand All @@ -137,13 +139,16 @@ public boolean onPreferenceChange(Preference pref, Object obj){
Toast t = Toast.makeText(MainActivity.this, R.string.invalid_url, Toast.LENGTH_SHORT);
t.setGravity(Gravity.TOP,0,point.y/4);
t.show();
findPreference("grades").setEnabled(false);
return false;
} else if (((String)obj).startsWith("http://naplo.karinthy.hu/app")||((String)obj).startsWith("https://naplo.karinthy.hu/app")){
url2.setSummary(getString(R.string.click2edit));
findPreference("grades").setEnabled(true);
} else {
url2.setSummary(getString(R.string.copythelink));
url2.setText("");
Toast.makeText(MainActivity.this, R.string.invalid_url, Toast.LENGTH_SHORT).show();
findPreference("grades").setEnabled(false);
return false;
}
return true;
Expand All @@ -156,7 +161,7 @@ public boolean onPreferenceChange(Preference pref, Object obj){
if (jobScheduler.getAllPendingJobs()!=null&&jobScheduler.getAllPendingJobs().size()>0) {
jobScheduler.cancelAll();
}
JobManagerService.scheduleJob(MainActivity.this);
JobManagerService.scheduleJob(MainActivity.this, false);
return true;
}
});
Expand Down Expand Up @@ -195,6 +200,14 @@ public boolean onPreferenceClick(Preference pref){
return true;
}
});
findPreference("grades").setOnPreferenceClickListener(new Preference.OnPreferenceClickListener(){
public boolean onPreferenceClick(Preference pref){
Intent intent = new Intent(MainActivity.this, TableViewActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
startActivity(intent);
return true;
}
});
}

/*public static void showLilla(String[] args) {
Expand Down
3 changes: 3 additions & 0 deletions app/src/main/res/values-hu/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<resources>

<string name="app_name">Karinthy Napló</string>
<string name="main_activity">KFGNapló Beállítások</string>
<string name="instructions"><![CDATA[<b>Olvasd el!</b><br/>GYIA kódok használata:<br/>
1. Lépj be a KFG Napló oldalra<br/>
2. Nyisd meg az okostelefonos hozzáférés menüpontot<br/>
Expand Down Expand Up @@ -45,6 +46,8 @@
<string name="average">Átl.</string>
<string name="refresh">Adatok frissítése</string>
<string name="job_name">Feladatütemező</string>
<string name="table">Táblázatok</string>
<string name="grades_expl">Tantárgyak szerint, átlagokkal, kattintás a részletekhez</string>


</resources>
3 changes: 3 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
<resources>

<string name="app_name">Karinthy Naplo</string>
<string name="main_activity">KFGNaplo Settings</string>
<string name="instructions"><![CDATA[<b>Read me!</b><br/>How to use GYIA codes:<br/>
1. Login to KFG Napló<br/>
2. Open okostelefonos hozzáférés (GYIA)<br/>
Expand Down Expand Up @@ -46,5 +47,7 @@
<string name="average">Avg.</string>
<string name="refresh">Refresh database</string>
<string name="job_name">Job trigger</string>
<string name="table">Tables</string>
<string name="grades_expl">Ordered by subject, with averages, click on grades for details</string>

</resources>
8 changes: 8 additions & 0 deletions app/src/main/res/xml/prefs.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="@string/table"
android:key="grades_container">
<Preference
android:key="grades"
android:title="@string/title_activity_table_view"
android:summary="@string/grades_expl"/>
</PreferenceCategory>
<PreferenceCategory android:title="Beállítások">
<CheckBoxPreference
android:defaultValue="false"
Expand Down

0 comments on commit 4985df6

Please sign in to comment.