Skip to content

Commit 37b4d3b

Browse files
committed
Version 2.1 - Preferences to switch themes
1 parent c1a9bac commit 37b4d3b

14 files changed

+33
-24
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@
55
/build/
66
/.gradle/
77
/bin/
8-
/gen/
8+
/gen/
9+
/market/
348 KB
Binary file not shown.

src/main/java/org/androidsoft/app/permission/Constants.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
*/
2121
public class Constants
2222
{
23-
public static final String TAG = "androidsoft.org";
23+
public static final String LOG_TAG = "PFA-androidsoft.org";
2424
public static final String PREFS = "permission_prefs";
2525
public static final String KEY_TRUSTED_APP = "trusted_app";
2626
public static final String KEY_TRUSTED_COUNT = "trusted_count";

src/main/java/org/androidsoft/app/permission/service/PermissionService.java

+8-10
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,6 @@
3737
*/
3838
public class PermissionService
3939
{
40-
41-
private static final String TAG = "androidsoft";
4240
private static NameComparator mNameComparator = new NameComparator();
4341
private static ScoreComparator mScoreComparator = new ScoreComparator();
4442
private static List<String> mTrustedApps;
@@ -139,7 +137,7 @@ public static List<PermissionGroup> getPermissions(String[] permissions, Package
139137
}
140138
catch (NameNotFoundException ex)
141139
{
142-
Log.e(TAG, "Permission name not found : " + permission);
140+
Log.e(Constants.LOG_TAG, "Permission name not found : " + permission);
143141
}
144142
}
145143
}
@@ -358,14 +356,14 @@ private static int getScore(String packageName, PackageManager pm)
358356
}
359357
catch (NameNotFoundException ex)
360358
{
361-
Log.e(TAG, "Permission name not found : " + permission);
359+
Log.e(Constants.LOG_TAG, "Permission name not found : " + permission);
362360
}
363361
}
364362
}
365363
}
366364
catch (NameNotFoundException ex)
367365
{
368-
Log.e(TAG, "Error getting package info : " + packageName);
366+
Log.e(Constants.LOG_TAG, "Error getting package info : " + packageName);
369367
}
370368
return score;
371369
}
@@ -399,7 +397,7 @@ private static void log(String text, List<String> trustedPackages)
399397
{
400398
for (String trusted : trustedPackages)
401399
{
402-
Log.d(TAG, text + trusted);
400+
Log.d(Constants.LOG_TAG, text + trusted);
403401
}
404402
}
405403

@@ -424,14 +422,14 @@ private static void registerPermissionApp(AppInfo app, String packageName, Packa
424422
}
425423
catch (NameNotFoundException ex)
426424
{
427-
Log.e(TAG, "Permission name not found : " + permission);
425+
Log.e(Constants.LOG_TAG, "Permission name not found : " + permission);
428426
}
429427
}
430428
}
431429
}
432430
catch (NameNotFoundException ex)
433431
{
434-
Log.e(TAG, "Error getting package info : " + packageName);
432+
Log.e(Constants.LOG_TAG, "Error getting package info : " + packageName);
435433
}
436434
}
437435

@@ -482,14 +480,14 @@ private static boolean isAppRequirePermission(Context context, AppInfo app, Stri
482480
}
483481
catch (NameNotFoundException ex)
484482
{
485-
Log.e(TAG, "Permission name not found : " + permission);
483+
Log.e(Constants.LOG_TAG, "Permission name not found : " + permission);
486484
}
487485
}
488486
}
489487
}
490488
catch (NameNotFoundException ex)
491489
{
492-
Log.e(TAG, "Error getting package info : " + app.getPackageName());
490+
Log.e(Constants.LOG_TAG, "Error getting package info : " + app.getPackageName());
493491
}
494492
return false;
495493
}

src/main/java/org/androidsoft/app/permission/service/PreferencesService.java

+14-6
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,9 @@
1717
import android.content.Context;
1818
import android.content.SharedPreferences;
1919
import android.os.Build;
20+
import android.util.Log;
2021
import java.util.ArrayList;
22+
import org.androidsoft.app.permission.Constants;
2123

2224
/**
2325
* Preferences Service
@@ -26,14 +28,12 @@
2628
*/
2729
public class PreferencesService
2830
{
29-
30-
3131
private static final String PREF_NAME = "PermissionFriendlyAppsPreferences";
3232
private static final String PREF_THEME = "Theme";
3333
private static final int THEME_LIGHT = 0;
3434
private static final int THEME_DARK = 1;
3535

36-
private static int mTheme = 1;
36+
private static int mTheme;
3737
private static ArrayList<ThemeChangesListener> mThemeListeners = new ArrayList<ThemeChangesListener>();
3838

3939
public static int getThemeId()
@@ -42,11 +42,11 @@ public static int getThemeId()
4242

4343
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
4444
{
45-
nThemeId = isThemeDark() ? android.R.style.Theme_Material : android.R.style.Theme_Material_Light;
45+
nThemeId = isThemeDark() ? android.R.style.Theme_Material : android.R.style.Theme_Material_Light_DarkActionBar;
4646
}
4747
else
4848
{
49-
nThemeId = isThemeDark() ? android.R.style.Theme_Holo : android.R.style.Theme_Holo_Light;
49+
nThemeId = isThemeDark() ? android.R.style.Theme_Holo : android.R.style.Theme_Holo_Light_DarkActionBar;
5050
}
5151
return nThemeId;
5252
}
@@ -61,17 +61,25 @@ public static void addThemeListener( ThemeChangesListener listener )
6161
mThemeListeners.add(listener);
6262
}
6363

64-
public static void notifyThemeListeners( Context context, boolean bDarkTheme )
64+
public static void notifyThemeListeners( Context context , boolean bDarkTheme )
6565
{
6666
mTheme = ( bDarkTheme ) ? THEME_DARK : THEME_LIGHT;
6767
SharedPreferences prefs = context.getSharedPreferences( PREF_NAME, Context.MODE_PRIVATE );
6868
SharedPreferences.Editor editor = prefs.edit();
6969
editor.putInt( PREF_THEME, mTheme );
7070
editor.apply();
71+
Log.i( Constants.LOG_TAG, "New theme stored : " + mTheme );
7172
for( ThemeChangesListener listener : mThemeListeners )
7273
{
7374
listener.onChangeTheme();
7475
}
7576
}
7677

78+
public static void loadPreferences(Context context)
79+
{
80+
SharedPreferences prefs = context.getSharedPreferences( PREF_NAME, Context.MODE_PRIVATE );
81+
mTheme = prefs.getInt( PREF_THEME, THEME_LIGHT );
82+
Log.i( Constants.LOG_TAG, "Theme loaded : " + mTheme );
83+
}
84+
7785
}

src/main/java/org/androidsoft/app/permission/ui/ApplicationFragment.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ void updateApplication(Activity activity, String packageName)
143143
}
144144
catch (NameNotFoundException ex)
145145
{
146-
Log.e(Constants.TAG, "Package name not found : " + packageName);
146+
Log.e(Constants.LOG_TAG, "Package name not found : " + packageName);
147147
}
148148
}
149149
else

src/main/java/org/androidsoft/app/permission/ui/SplashActivity.java

+1
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public void onCreate(Bundle icicle)
3838
{
3939
super.onCreate(icicle);
4040

41+
PreferencesService.loadPreferences( this );
4142
setTheme( PreferencesService.getThemeId() );
4243

4344
setContentView(R.layout.splash);
1.7 KB
Loading
1.53 KB
Loading

src/main/res/drawable-hdpi/normal.png

1.65 KB
Loading
-2.3 KB
Loading
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22

33
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
4-
<solid android:color="#ffbbbbbb"/>
5-
<stroke android:width="3px" android:color="#ffdddddd" />
4+
<solid android:color="#30000000"/>
5+
<stroke android:width="5px" android:color="#20000000" />
66
</shape>

src/main/res/layout/application_list_item.xml

+2-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
2020
android:orientation="horizontal"
2121
android:layout_width="match_parent"
22-
android:layout_height="match_parent">
22+
android:layout_height="match_parent"
23+
android:padding="@dimen/padding" >
2324

2425
<ImageView android:id="@+id/icon"
2526
android:contentDescription="@string/iv_application_icon"

src/main/res/values/dimens.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
<dimen name="bar_font">16sp</dimen>
2323
<dimen name="icon">120dp</dimen>
2424
<dimen name="icon_small_app">70dp</dimen>
25-
<dimen name="icon_score">45dp</dimen>
25+
<dimen name="icon_score">65dp</dimen>
2626
<dimen name="padding_icon">8dp</dimen>
2727
<dimen name="padding">10dp</dimen>
2828
<dimen name="padding_pane">10dp</dimen>
@@ -37,6 +37,6 @@
3737
<dimen name="font_button_round">24sp</dimen>
3838
<dimen name="button_round">70dp</dimen>
3939
<dimen name="round_icon_padding">25dp</dimen>
40-
<dimen name="round_shadow_offset">14px</dimen>
40+
<dimen name="round_shadow_offset">20px</dimen>
4141
<dimen name="round_shape_offset">4px</dimen>
4242
</resources>

0 commit comments

Comments
 (0)