forked from github/wulkanowy-mirror
Add about section in settings (#99)
This commit is contained in:
parent
dd2c69601a
commit
f29689c6cd
@ -2,11 +2,13 @@ buildscript {
|
|||||||
repositories {
|
repositories {
|
||||||
maven { url "https://plugins.gradle.org/m2/" }
|
maven { url "https://plugins.gradle.org/m2/" }
|
||||||
maven { url 'https://maven.fabric.io/public' }
|
maven { url 'https://maven.fabric.io/public' }
|
||||||
|
google()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath "org.greenrobot:greendao-gradle-plugin:$greenDaoGradle"
|
classpath "org.greenrobot:greendao-gradle-plugin:$greenDaoGradle"
|
||||||
classpath "io.fabric.tools:gradle:$fabricGradle"
|
classpath "io.fabric.tools:gradle:$fabricGradle"
|
||||||
|
classpath "com.google.gms:oss-licenses:0.9.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -19,6 +21,7 @@ apply plugin: 'org.greenrobot.greendao'
|
|||||||
apply plugin: 'io.fabric'
|
apply plugin: 'io.fabric'
|
||||||
apply from: '../jacoco.gradle'
|
apply from: '../jacoco.gradle'
|
||||||
apply from: '../android-sonarqube.gradle'
|
apply from: '../android-sonarqube.gradle'
|
||||||
|
apply plugin: 'com.google.gms.oss.licenses.plugin'
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion 26
|
compileSdkVersion 26
|
||||||
@ -87,6 +90,7 @@ dependencies {
|
|||||||
implementation "com.google.dagger:dagger-android-support:$dagger2"
|
implementation "com.google.dagger:dagger-android-support:$dagger2"
|
||||||
implementation "com.aurelhubert:ahbottomnavigation:$ahbottom"
|
implementation "com.aurelhubert:ahbottomnavigation:$ahbottom"
|
||||||
implementation "com.jakewharton.threetenabp:threetenabp:$threeTenABP"
|
implementation "com.jakewharton.threetenabp:threetenabp:$threeTenABP"
|
||||||
|
implementation "com.google.android.gms:play-services-oss-licenses:$ossLicenses"
|
||||||
|
|
||||||
implementation("com.crashlytics.sdk.android:crashlytics:$crashlyticsSdk@aar") {
|
implementation("com.crashlytics.sdk.android:crashlytics:$crashlyticsSdk@aar") {
|
||||||
transitive = true
|
transitive = true
|
||||||
|
@ -40,6 +40,12 @@
|
|||||||
android:label="@string/activity_dashboard_text"
|
android:label="@string/activity_dashboard_text"
|
||||||
android:launchMode="singleTop"
|
android:launchMode="singleTop"
|
||||||
android:theme="@style/WulkanowyTheme" />
|
android:theme="@style/WulkanowyTheme" />
|
||||||
|
<activity
|
||||||
|
android:name="com.google.android.gms.oss.licenses.OssLicensesMenuActivity"
|
||||||
|
android:theme="@style/WulkanowyTheme.LoginTheme" />
|
||||||
|
<activity
|
||||||
|
android:name="com.google.android.gms.oss.licenses.OssLicensesActivity"
|
||||||
|
android:theme="@style/WulkanowyTheme.LoginTheme" />
|
||||||
|
|
||||||
<service
|
<service
|
||||||
android:name=".services.jobs.SyncJob"
|
android:name=".services.jobs.SyncJob"
|
||||||
|
@ -165,9 +165,7 @@ public class Exam implements Serializable {
|
|||||||
myDao.update(this);
|
myDao.update(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** called by internal mechanisms, do not call yourself. */
|
||||||
* called by internal mechanisms, do not call yourself.
|
|
||||||
*/
|
|
||||||
@Generated(hash = 1730563422)
|
@Generated(hash = 1730563422)
|
||||||
public void __setDaoSession(DaoSession daoSession) {
|
public void __setDaoSession(DaoSession daoSession) {
|
||||||
this.daoSession = daoSession;
|
this.daoSession = daoSession;
|
||||||
|
@ -0,0 +1,67 @@
|
|||||||
|
package io.github.wulkanowy.ui.main.settings;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.net.Uri;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.v7.preference.Preference;
|
||||||
|
import android.widget.Toast;
|
||||||
|
|
||||||
|
import com.google.android.gms.oss.licenses.OssLicensesMenuActivity;
|
||||||
|
|
||||||
|
import io.github.wulkanowy.BuildConfig;
|
||||||
|
import io.github.wulkanowy.R;
|
||||||
|
import io.github.wulkanowy.utils.AppConstant;
|
||||||
|
|
||||||
|
public class AboutScreen extends SettingsFragment {
|
||||||
|
|
||||||
|
public static final String SHARED_KEY_ABOUT_VERSION = "about_version";
|
||||||
|
|
||||||
|
public static final String SHARED_KEY_ABOUT_LICENSES = "about_osl";
|
||||||
|
|
||||||
|
public static final String SHARED_KEY_ABOUT_REPO = "about_repo";
|
||||||
|
|
||||||
|
private Preference.OnPreferenceClickListener onProgrammerListener = new Preference.OnPreferenceClickListener() {
|
||||||
|
private int clicks = 0;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceClick(Preference preference) {
|
||||||
|
Toast.makeText(getActivity(), getVersionToast(clicks++), Toast.LENGTH_SHORT).show();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private int getVersionToast(int click) {
|
||||||
|
if (0 == click) {
|
||||||
|
return R.string.about_programmer_step1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (1 == click) {
|
||||||
|
return R.string.about_programmer_step2;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (9 > click) {
|
||||||
|
return R.string.about_programmer_step3;
|
||||||
|
}
|
||||||
|
|
||||||
|
return R.string.about_programmer;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public AboutScreen() {
|
||||||
|
// silence is golden
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(final Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
findPreference(SHARED_KEY_ABOUT_VERSION).setSummary(BuildConfig.VERSION_NAME);
|
||||||
|
findPreference(SHARED_KEY_ABOUT_VERSION).setOnPreferenceClickListener(onProgrammerListener);
|
||||||
|
findPreference(SHARED_KEY_ABOUT_REPO).setIntent(new Intent(Intent.ACTION_VIEW, Uri.parse(AppConstant.REPO_URL)));
|
||||||
|
findPreference(SHARED_KEY_ABOUT_LICENSES).setIntent(new Intent(getActivity(), OssLicensesMenuActivity.class)
|
||||||
|
.putExtra("title", getString(R.string.pref_about_osl)));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreatePreferences(Bundle bundle, String rootKey) {
|
||||||
|
setPreferencesFromResource(R.xml.preferences, rootKey);
|
||||||
|
}
|
||||||
|
}
|
@ -2,13 +2,17 @@ package io.github.wulkanowy.ui.main.settings;
|
|||||||
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v4.app.Fragment;
|
||||||
|
import android.support.v4.app.FragmentTransaction;
|
||||||
import android.support.v7.preference.PreferenceFragmentCompat;
|
import android.support.v7.preference.PreferenceFragmentCompat;
|
||||||
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
|
|
||||||
import io.github.wulkanowy.R;
|
import io.github.wulkanowy.R;
|
||||||
import io.github.wulkanowy.services.jobs.SyncJob;
|
import io.github.wulkanowy.services.jobs.SyncJob;
|
||||||
|
|
||||||
public class SettingsFragment extends PreferenceFragmentCompat
|
public class SettingsFragment extends PreferenceFragmentCompat
|
||||||
implements SharedPreferences.OnSharedPreferenceChangeListener {
|
implements SharedPreferences.OnSharedPreferenceChangeListener,
|
||||||
|
PreferenceFragmentCompat.OnPreferenceStartScreenCallback{
|
||||||
|
|
||||||
public static final String SHARED_KEY_START_TAB = "startup_tab";
|
public static final String SHARED_KEY_START_TAB = "startup_tab";
|
||||||
|
|
||||||
@ -29,6 +33,31 @@ public class SettingsFragment extends PreferenceFragmentCompat
|
|||||||
addPreferencesFromResource(R.xml.preferences);
|
addPreferencesFromResource(R.xml.preferences);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate(final Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Fragment getCallbackFragment() {
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onPreferenceStartScreen(PreferenceFragmentCompat preferenceFragmentCompat,
|
||||||
|
PreferenceScreen preferenceScreen) {
|
||||||
|
FragmentTransaction ft = getActivity().getSupportFragmentManager().beginTransaction();
|
||||||
|
AboutScreen fragment = new AboutScreen();
|
||||||
|
Bundle args = new Bundle();
|
||||||
|
args.putString(PreferenceFragmentCompat.ARG_PREFERENCE_ROOT, preferenceScreen.getKey());
|
||||||
|
fragment.setArguments(args);
|
||||||
|
ft.add(R.id.main_activity_container, fragment, preferenceScreen.getKey());
|
||||||
|
ft.addToBackStack(preferenceScreen.getKey());
|
||||||
|
ft.commit();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
|
||||||
if (key.equals(SHARED_KEY_SERVICES_ENABLE) || key.equals(SHARED_KEY_SERVICES_INTERVAL)
|
if (key.equals(SHARED_KEY_SERVICES_ENABLE) || key.equals(SHARED_KEY_SERVICES_INTERVAL)
|
||||||
|
@ -19,6 +19,8 @@ public final class AppConstant {
|
|||||||
|
|
||||||
public static final String DATE_PATTERN = "yyyy-MM-dd";
|
public static final String DATE_PATTERN = "yyyy-MM-dd";
|
||||||
|
|
||||||
|
public static final String REPO_URL = "https://github.com/wulkanowy/wulkanowy";
|
||||||
|
|
||||||
private AppConstant() {
|
private AppConstant() {
|
||||||
throw new IllegalStateException("Utility class");
|
throw new IllegalStateException("Utility class");
|
||||||
}
|
}
|
||||||
|
@ -135,6 +135,18 @@
|
|||||||
<string name="pref_services_interval">Interwał między odświeżaniem danych</string>
|
<string name="pref_services_interval">Interwał między odświeżaniem danych</string>
|
||||||
<string name="pref_services_mobile_data">Synchronizacja tylko przez WiFi</string>
|
<string name="pref_services_mobile_data">Synchronizacja tylko przez WiFi</string>
|
||||||
|
|
||||||
|
<string name="pref_about_header">O aplikacji</string>
|
||||||
|
<string name="pref_about">Informacje o Wulkanowym</string>
|
||||||
|
<string name="pref_about_summary">Wulkanowy to nieoficjalny klient dziennika VULCAN UONET+</string>
|
||||||
|
<string name="pref_about_version">Wersja</string>
|
||||||
|
<string name="pref_about_osl">Licencje open source</string>
|
||||||
|
<string name="pref_about_osl_summary">Szczegóły licencji na oprogramowanie open source</string>
|
||||||
|
<string name="pref_about_support">Kod źródłowy i feedback</string>
|
||||||
|
<string name="about_programmer_step1">Nie, nie zostaniesz programistą!</string>
|
||||||
|
<string name="about_programmer_step2">Musisz bardziej się postarać!</string>
|
||||||
|
<string name="about_programmer_step3">Kliknij jeszcze parę razy</string>
|
||||||
|
<string name="about_programmer">Odwiedź zakładkę Kod źródłowy i pokaż jaki z ciebie programista!</string>
|
||||||
|
|
||||||
<string name="notify_grade_channel">Nowe oceny</string>
|
<string name="notify_grade_channel">Nowe oceny</string>
|
||||||
<string name="widget_timetable_no_lesson">Brak lekcji</string>
|
<string name="widget_timetable_no_lesson">Brak lekcji</string>
|
||||||
<string name="widget_timetable_today">Dziś</string>
|
<string name="widget_timetable_today">Dziś</string>
|
||||||
|
@ -130,6 +130,18 @@
|
|||||||
<string name="pref_services_interval">Interval between data refreshing</string>
|
<string name="pref_services_interval">Interval between data refreshing</string>
|
||||||
<string name="pref_services_mobile_data">Synchronization via WiFi only</string>
|
<string name="pref_services_mobile_data">Synchronization via WiFi only</string>
|
||||||
|
|
||||||
|
<string name="pref_about_header">About</string>
|
||||||
|
<string name="pref_about">About Wulkanowy</string>
|
||||||
|
<string name="pref_about_summary">Wulkanowy is an unofficial VULCAN UONET+ log client</string>
|
||||||
|
<string name="pref_about_version">Version</string>
|
||||||
|
<string name="pref_about_osl">Open source licenses</string>
|
||||||
|
<string name="pref_about_osl_summary">License details for open source software</string>
|
||||||
|
<string name="pref_about_support">Source code & feedback</string>
|
||||||
|
<string name="about_programmer_step1">No, you will not become a programmer!</string>
|
||||||
|
<string name="about_programmer_step2">You must try harder!</string>
|
||||||
|
<string name="about_programmer_step3">Click a few more times</string>
|
||||||
|
<string name="about_programmer">Visit the Source code tab and show how good a programmer you are!</string>
|
||||||
|
|
||||||
<string name="notify_grade_channel">New grades</string>
|
<string name="notify_grade_channel">New grades</string>
|
||||||
<string name="widget_timetable_no_lesson">No lessons</string>
|
<string name="widget_timetable_no_lesson">No lessons</string>
|
||||||
<string name="widget_timetable_today">Today</string>
|
<string name="widget_timetable_today">Today</string>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
<item name="colorAccent">@color/colorPrimary</item>
|
<item name="colorAccent">@color/colorPrimary</item>
|
||||||
<item name="actionMenuTextColor">@android:color/primary_text_dark</item>
|
<item name="actionMenuTextColor">@android:color/primary_text_dark</item>
|
||||||
<item name="android:textColorPrimary">@android:color/primary_text_light</item>
|
<item name="android:textColorPrimary">@android:color/primary_text_light</item>
|
||||||
<item name="android:textColorSecondary">@android:color/primary_text_light</item>
|
<item name="android:textColorSecondary">@android:color/secondary_text_light</item>
|
||||||
<item name="android:textColorSecondaryInverse">@android:color/primary_text_dark</item>
|
<item name="android:textColorSecondaryInverse">@android:color/primary_text_dark</item>
|
||||||
<item name="android:textColorTertiary">@android:color/primary_text_light</item>
|
<item name="android:textColorTertiary">@android:color/primary_text_light</item>
|
||||||
<item name="android:textColorTertiaryInverse">@android:color/primary_text_dark</item>
|
<item name="android:textColorTertiaryInverse">@android:color/primary_text_dark</item>
|
||||||
@ -16,7 +16,7 @@
|
|||||||
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
|
<item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="WulkanowyTheme.LoginTheme" parent="@style/Theme.AppCompat.Light">
|
<style name="WulkanowyTheme.LoginTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
|
||||||
<item name="colorPrimary">@color/colorPrimary</item>
|
<item name="colorPrimary">@color/colorPrimary</item>
|
||||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||||
<item name="colorAccent">@color/colorPrimary</item>
|
<item name="colorAccent">@color/colorPrimary</item>
|
||||||
|
@ -45,4 +45,27 @@
|
|||||||
android:key="notify_enable"
|
android:key="notify_enable"
|
||||||
android:title="@string/pref_notify_switch" />
|
android:title="@string/pref_notify_switch" />
|
||||||
</PreferenceCategory>
|
</PreferenceCategory>
|
||||||
|
<PreferenceCategory android:title="@string/pref_about_header">
|
||||||
|
<PreferenceScreen
|
||||||
|
android:key="pref_about"
|
||||||
|
android:title="@string/pref_about"
|
||||||
|
android:persistent="false">
|
||||||
|
<PreferenceCategory android:title="@string/pref_about">
|
||||||
|
<Preference
|
||||||
|
android:selectable="false"
|
||||||
|
android:summary="@string/pref_about_summary"/>
|
||||||
|
<Preference
|
||||||
|
android:key="about_version"
|
||||||
|
android:title="@string/pref_about_version"/>
|
||||||
|
<Preference
|
||||||
|
android:key="about_osl"
|
||||||
|
android:title="@string/pref_about_osl"
|
||||||
|
android:summary="@string/pref_about_osl_summary"/>
|
||||||
|
<Preference
|
||||||
|
android:key="about_repo"
|
||||||
|
android:title="@string/pref_about_support">
|
||||||
|
</Preference>
|
||||||
|
</PreferenceCategory>
|
||||||
|
</PreferenceScreen>
|
||||||
|
</PreferenceCategory>
|
||||||
</PreferenceScreen>
|
</PreferenceScreen>
|
||||||
|
@ -14,7 +14,6 @@ buildscript {
|
|||||||
}
|
}
|
||||||
|
|
||||||
plugins {
|
plugins {
|
||||||
|
|
||||||
// gradle dependencyUpdates -Drevision=release
|
// gradle dependencyUpdates -Drevision=release
|
||||||
id "com.github.ben-manes.versions" version "0.17.0"
|
id "com.github.ben-manes.versions" version "0.17.0"
|
||||||
}
|
}
|
||||||
@ -45,10 +44,11 @@ ext {
|
|||||||
greenDaoGradle = "3.2.2"
|
greenDaoGradle = "3.2.2"
|
||||||
butterknife = "8.8.1"
|
butterknife = "8.8.1"
|
||||||
threeTenABP = "1.1.0"
|
threeTenABP = "1.1.0"
|
||||||
dagger2 = "2.15"
|
dagger2 = "2.16"
|
||||||
ahbottom = "2.2.0"
|
ahbottom = "2.2.0"
|
||||||
jsoup = "1.11.3"
|
jsoup = "1.11.3"
|
||||||
gson = "2.8.4"
|
gson = "2.8.4"
|
||||||
|
ossLicenses = "15.0.1"
|
||||||
|
|
||||||
debugDb = "1.0.3"
|
debugDb = "1.0.3"
|
||||||
sqlcipher = "3.5.9"
|
sqlcipher = "3.5.9"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user