Skip to content

Commit 57c840b

Browse files
author
David Graeff
committed
Preview images for widgets. Some fixes for widgets. Move App to the most top package (for acra to find BuildConfig).
1 parent 3c3848e commit 57c840b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+96
-90
lines changed

app/build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ android {
1616
defaultConfig {
1717
minSdkVersion 17
1818
targetSdkVersion 22
19-
versionCode 121
20-
versionName "8.1"
19+
versionCode 122
20+
versionName "8.2"
2121
applicationId appID
2222
testApplicationId "oly.netpowerctrl.tests"
2323
testInstrumentationRunner "android.test.InstrumentationTestRunner"

app/src/main/AndroidManifest.xml

+7-16
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
<uses-sdk />
3131

3232
<application
33-
android:name=".main.App"
33+
android:name=".App"
3434
android:allowBackup="true"
3535
android:icon="@drawable/netpowerctrl"
3636
android:label="@string/app_name"
@@ -76,9 +76,6 @@
7676
android:launchMode="singleInstance"
7777
android:noHistory="true"
7878
android:theme="@style/Theme.AppCompat.Translucent">
79-
<intent-filter>
80-
<action android:name="android.intent.action.MAIN" />
81-
</intent-filter>
8279
<intent-filter>
8380
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
8481
<category android:name="android.intent.category.DEFAULT" />
@@ -89,7 +86,8 @@
8986
<activity
9087
android:name="oly.netpowerctrl.widget.ConfigExecutableActivity"
9188
android:configChanges="orientation|screenSize|keyboardHidden|layoutDirection"
92-
android:theme="@style/Theme.StartTheme">
89+
android:launchMode="singleInstance"
90+
android:theme="@style/Theme.CustomLightThemeDialog">
9391
<intent-filter>
9492
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
9593
</intent-filter>
@@ -98,7 +96,8 @@
9896
<activity
9997
android:name="oly.netpowerctrl.widget.ConfigGroupActivity"
10098
android:configChanges="orientation|screenSize|keyboardHidden|layoutDirection"
101-
android:theme="@style/Theme.StartTheme">
99+
android:launchMode="singleInstance"
100+
android:theme="@style/Theme.CustomLightThemeDialog">
102101
<intent-filter>
103102
<action android:name="android.appwidget.action.APPWIDGET_CONFIGURE" />
104103
</intent-filter>
@@ -129,7 +128,8 @@
129128
android:description="@string/shortcut_existing_executable_desc"
130129
android:icon="@drawable/netpowerctrl"
131130
android:label="@string/shortcut_existing_executable"
132-
android:theme="@android:style/Theme.Dialog"
131+
android:launchMode="singleInstance"
132+
android:theme="@style/Theme.CustomLightThemeDialog"
133133
android:windowSoftInputMode="stateHidden">
134134
<intent-filter>
135135
<action android:name="android.intent.action.CREATE_SHORTCUT" />
@@ -176,14 +176,5 @@
176176
<service
177177
android:name=".status_bar.AndroidStatusBarService"
178178
android:exported="false" />
179-
180-
<receiver
181-
android:name=".timer.BootCompletedReceiver"
182-
android:enabled="false">
183-
<intent-filter>
184-
<action android:name="android.intent.action.BOOT_COMPLETED" />
185-
</intent-filter>
186-
</receiver>
187-
188179
</application>
189180
</manifest>

app/src/main/java/oly/netpowerctrl/main/App.java renamed to app/src/main/java/oly/netpowerctrl/App.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package oly.netpowerctrl.main;
1+
package oly.netpowerctrl;
22

33
import android.app.Application;
44
import android.os.Build;
@@ -12,9 +12,9 @@
1212
import org.acra.annotation.ReportsCrashes;
1313
import org.acra.sender.HttpSender;
1414

15-
import oly.netpowerctrl.BuildConfig;
16-
import oly.netpowerctrl.R;
1715
import oly.netpowerctrl.data.graphic.LoadStoreIconData;
16+
import oly.netpowerctrl.main.GuiThreadHandler;
17+
import oly.netpowerctrl.main.LifecycleHandler;
1818

1919
/**
2020
* Application:

app/src/main/java/oly/netpowerctrl/data/DataService.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.util.Map;
1616
import java.util.WeakHashMap;
1717

18+
import oly.netpowerctrl.App;
1819
import oly.netpowerctrl.data.query.DataQueryCompletedObserver;
1920
import oly.netpowerctrl.data.query.DataQueryRefreshObserver;
2021
import oly.netpowerctrl.data.query.onDataQueryCompleted;
@@ -27,7 +28,6 @@
2728
import oly.netpowerctrl.ioconnection.DeviceIOConnections;
2829
import oly.netpowerctrl.ioconnection.IOConnection;
2930
import oly.netpowerctrl.ioconnection.IOConnectionsCollection;
30-
import oly.netpowerctrl.main.App;
3131
import oly.netpowerctrl.main.GuiThreadHandler;
3232
import oly.netpowerctrl.main.MainActivity;
3333
import oly.netpowerctrl.network.NetworkChangedBroadcastReceiver;
@@ -229,13 +229,16 @@ public void onDestroy() {
229229
loadStoreCollections.finish(this);
230230
loadStoreCollections = null;
231231

232+
deviceQuery.finish();
232233
UDPSend.killSendThread();
233234

234235
// Clean up
235236
for (AbstractBasePlugin abstractBasePlugin : plugins)
236237
abstractBasePlugin.onDestroy();
237238
plugins.clear();
238239

240+
clearDataStorage();
241+
239242
weakHashMap.clear();
240243
mDiscoverService = null;
241244

@@ -323,10 +326,7 @@ public void setLoadStoreController(LoadStoreCollections loadStoreCollections) {
323326
/**
324327
* Tidy up all lists and references.
325328
*/
326-
public void clear() {
327-
// There shouldn't be any device-listen observers anymore,
328-
// but we clear the list here nevertheless.
329-
deviceQuery.finish();
329+
public void clearDataStorage() {
330330
connections.storage.clear();
331331
credentials.storage.clear();
332332
groups.storage.clear();

app/src/main/java/oly/netpowerctrl/data/LoadStoreCollections.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
import java.io.FileOutputStream;
1010
import java.io.IOException;
1111

12+
import oly.netpowerctrl.App;
1213
import oly.netpowerctrl.data.storage_container.CollectionStorage;
1314
import oly.netpowerctrl.devices.Credentials;
1415
import oly.netpowerctrl.executables.ExecutableFabric;
1516
import oly.netpowerctrl.groups.Group;
1617
import oly.netpowerctrl.ioconnection.IOConnectionFabric;
17-
import oly.netpowerctrl.main.App;
1818
import oly.netpowerctrl.preferences.SharedPrefs;
1919
import oly.netpowerctrl.status_bar.FavItem;
2020
import oly.netpowerctrl.ui.notifications.InAppNotifications;

app/src/main/java/oly/netpowerctrl/data/graphic/LoadStoreIconData.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
import java.io.FileOutputStream;
1515
import java.io.IOException;
1616

17+
import oly.netpowerctrl.App;
1718
import oly.netpowerctrl.R;
1819
import oly.netpowerctrl.executables.Executable;
1920
import oly.netpowerctrl.executables.ExecutableType;
20-
import oly.netpowerctrl.main.App;
2121
import oly.netpowerctrl.preferences.SharedPrefs;
2222

2323
/**

app/src/main/java/oly/netpowerctrl/data/storage_container/CollectionStorage.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ public abstract class CollectionStorage<ITEM extends IOInterface> {
1313
// if (storage == null)
1414
// return;
1515
//
16-
// storage.clear(this);
16+
// storage.clearDataStorage(this);
1717
// for (ITEM item : items.values())
1818
// storage.save(this, item);
1919
// }

app/src/main/java/oly/netpowerctrl/devices/AutomaticSetup.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
import java.util.ArrayList;
1313
import java.util.List;
1414

15+
import oly.netpowerctrl.App;
1516
import oly.netpowerctrl.R;
1617
import oly.netpowerctrl.data.AbstractBasePlugin;
1718
import oly.netpowerctrl.data.DataService;
1819
import oly.netpowerctrl.data.onServiceReady;
1920
import oly.netpowerctrl.executables.Executable;
2021
import oly.netpowerctrl.groups.Group;
21-
import oly.netpowerctrl.main.App;
2222
import oly.netpowerctrl.utils.AnimationController;
2323
import oly.netpowerctrl.utils.ObserverUpdateActions;
2424
import oly.netpowerctrl.utils.onCollectionUpdated;

app/src/main/java/oly/netpowerctrl/devices/DeviceQuery.java

+15-2
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@
1111
import java.util.List;
1212
import java.util.Map;
1313

14+
import oly.netpowerctrl.App;
1415
import oly.netpowerctrl.R;
1516
import oly.netpowerctrl.data.AbstractBasePlugin;
1617
import oly.netpowerctrl.data.DataService;
1718
import oly.netpowerctrl.ioconnection.DeviceIOConnections;
1819
import oly.netpowerctrl.ioconnection.IOConnection;
19-
import oly.netpowerctrl.main.App;
2020
import oly.netpowerctrl.network.ReachabilityStates;
2121

2222
/**
@@ -31,6 +31,7 @@ public class DeviceQuery {
3131
private static final int MSG_RESPONSE = 3;
3232
private static final int MSG_ADD_OBSERVER = 4;
3333
private static final int MSG_RECHECK_MINIMUM_TIME = 5;
34+
private static final int MSG_EXIT = 6;
3435
@SuppressWarnings("unused")
3536
private static final String TAG = "DeviceQuery";
3637
private static int instances = 0;
@@ -47,6 +48,7 @@ public void run() {
4748
Looper.prepare();
4849
handler = new RepeatHandler(Looper.myLooper());
4950
Looper.loop();
51+
--instances;
5052
}
5153
};
5254

@@ -60,7 +62,14 @@ public DeviceQuery(DataService dataService) {
6062
* Will call onObserverJobFinished in the gui thread.
6163
*/
6264
public void finish() {
63-
Looper.myLooper().quit();
65+
if (thread.isAlive()) {
66+
handler.sendEmptyMessage(MSG_EXIT);
67+
}
68+
try {
69+
thread.join(2000);
70+
thread.interrupt();
71+
} catch (InterruptedException ignored) {
72+
}
6473
}
6574

6675
protected void doAction(Credentials credentials, int attempt) {
@@ -304,6 +313,10 @@ public void handleMessage(Message msg) {
304313
deviceSuccess(credentials);
305314
break;
306315
}
316+
case MSG_EXIT: {
317+
Looper.myLooper().quit();
318+
break;
319+
}
307320
}
308321
}
309322
}

app/src/main/java/oly/netpowerctrl/devices/TestCredentials.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55

66
import java.util.List;
77

8+
import oly.netpowerctrl.App;
89
import oly.netpowerctrl.data.DataService;
910
import oly.netpowerctrl.executables.Executable;
1011
import oly.netpowerctrl.executables.ExecutableCollection;
11-
import oly.netpowerctrl.main.App;
1212
import oly.netpowerctrl.utils.ObserverUpdateActions;
1313
import oly.netpowerctrl.utils.onCollectionUpdated;
1414

app/src/main/java/oly/netpowerctrl/executables/ExecutablesFragment.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import android.widget.PopupMenu;
2929
import android.widget.TextView;
3030

31+
import oly.netpowerctrl.App;
3132
import oly.netpowerctrl.R;
3233
import oly.netpowerctrl.data.DataService;
3334
import oly.netpowerctrl.data.graphic.IconCacheCleared;
@@ -46,7 +47,6 @@
4647
import oly.netpowerctrl.executables.adapter.InputGroupChanges;
4748
import oly.netpowerctrl.groups.GroupListFragment;
4849
import oly.netpowerctrl.groups.GroupUtilities;
49-
import oly.netpowerctrl.main.App;
5050
import oly.netpowerctrl.main.EditActivity;
5151
import oly.netpowerctrl.main.FeedbackFragment;
5252
import oly.netpowerctrl.main.MainActivity;

app/src/main/java/oly/netpowerctrl/executables/adapter/ExecutablesEditableAdapter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44
import android.support.v4.content.ContextCompat;
55
import android.widget.SeekBar;
66

7+
import oly.netpowerctrl.App;
78
import oly.netpowerctrl.R;
89
import oly.netpowerctrl.data.graphic.IconDeferredLoadingThread;
910
import oly.netpowerctrl.executables.Executable;
10-
import oly.netpowerctrl.main.App;
1111

1212
public class ExecutablesEditableAdapter extends ExecutablesAdapter implements
1313
SeekBar.OnSeekBarChangeListener {

app/src/main/java/oly/netpowerctrl/groups/GroupAdapter.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
import java.util.ArrayList;
1111
import java.util.List;
1212

13+
import oly.netpowerctrl.App;
1314
import oly.netpowerctrl.R;
1415
import oly.netpowerctrl.data.DataService;
1516
import oly.netpowerctrl.data.onServiceReady;
16-
import oly.netpowerctrl.main.App;
1717
import oly.netpowerctrl.ui.EmptyListener;
1818
import oly.netpowerctrl.utils.ObserverUpdateActions;
1919
import oly.netpowerctrl.utils.onCollectionUpdated;

app/src/main/java/oly/netpowerctrl/ioconnection/IOConnectionHttpDialog.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@
2121
import java.net.UnknownHostException;
2222
import java.util.UUID;
2323

24+
import oly.netpowerctrl.App;
2425
import oly.netpowerctrl.R;
2526
import oly.netpowerctrl.data.DataService;
26-
import oly.netpowerctrl.main.App;
2727
import oly.netpowerctrl.network.HttpThreadPool;
2828
import oly.netpowerctrl.ui.FragmentUtils;
2929
import oly.netpowerctrl.ui.ThemeHelper;

app/src/main/java/oly/netpowerctrl/ioconnection/IOConnectionsCollection.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.util.TreeMap;
1313
import java.util.TreeSet;
1414

15+
import oly.netpowerctrl.App;
1516
import oly.netpowerctrl.data.AbstractBasePlugin;
1617
import oly.netpowerctrl.data.DataService;
1718
import oly.netpowerctrl.data.storage_container.CollectionManipulation;
@@ -22,7 +23,6 @@
2223
import oly.netpowerctrl.data.storage_container.CollectionStorage;
2324
import oly.netpowerctrl.devices.Credentials;
2425
import oly.netpowerctrl.executables.Executable;
25-
import oly.netpowerctrl.main.App;
2626
import oly.netpowerctrl.network.ReachabilityStates;
2727
import oly.netpowerctrl.utils.ObserverUpdateActions;
2828

app/src/main/java/oly/netpowerctrl/ioconnection/IOConnectionsFragment.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import java.lang.ref.WeakReference;
2525

26+
import oly.netpowerctrl.App;
2627
import oly.netpowerctrl.R;
2728
import oly.netpowerctrl.data.AbstractBasePlugin;
2829
import oly.netpowerctrl.data.DataService;
@@ -34,7 +35,6 @@
3435
import oly.netpowerctrl.ioconnection.adapter.AdapterItemConnection;
3536
import oly.netpowerctrl.ioconnection.adapter.AdapterItemHeader;
3637
import oly.netpowerctrl.ioconnection.adapter.IOConnectionAdapter;
37-
import oly.netpowerctrl.main.App;
3838
import oly.netpowerctrl.network.ReachabilityStates;
3939
import oly.netpowerctrl.ui.EmptyListener;
4040
import oly.netpowerctrl.ui.FragmentUtils;

app/src/main/java/oly/netpowerctrl/ioconnection/adapter/AdapterItemConnection.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import android.support.annotation.NonNull;
44
import android.support.annotation.Nullable;
55

6+
import oly.netpowerctrl.App;
67
import oly.netpowerctrl.R;
78
import oly.netpowerctrl.data.DataService;
89
import oly.netpowerctrl.ioconnection.IOConnection;
910
import oly.netpowerctrl.ioconnection.IOConnectionsCollection;
10-
import oly.netpowerctrl.main.App;
1111
import oly.netpowerctrl.network.ReachabilityStates;
1212
import oly.netpowerctrl.utils.ObserverUpdateActions;
1313
import oly.netpowerctrl.utils.onCollectionUpdated;

app/src/main/java/oly/netpowerctrl/ioconnection/adapter/AdapterItemHeader.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import android.support.annotation.NonNull;
44
import android.support.annotation.Nullable;
55

6+
import oly.netpowerctrl.App;
67
import oly.netpowerctrl.R;
78
import oly.netpowerctrl.data.DataService;
89
import oly.netpowerctrl.devices.Credentials;
910
import oly.netpowerctrl.devices.CredentialsCollection;
10-
import oly.netpowerctrl.main.App;
1111
import oly.netpowerctrl.utils.ObserverUpdateActions;
1212
import oly.netpowerctrl.utils.onCollectionUpdated;
1313

app/src/main/java/oly/netpowerctrl/main/EditActivity.java

+1
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import java.util.Set;
3636
import java.util.TreeSet;
3737

38+
import oly.netpowerctrl.App;
3839
import oly.netpowerctrl.R;
3940
import oly.netpowerctrl.data.DataService;
4041
import oly.netpowerctrl.data.graphic.IconSelected;

app/src/main/java/oly/netpowerctrl/main/GuiThreadHandler.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.util.Log;
77
import android.widget.Toast;
88

9+
import oly.netpowerctrl.App;
910
import oly.netpowerctrl.R;
1011
import oly.netpowerctrl.data.DataService;
1112
import oly.netpowerctrl.utils.Logging;
@@ -20,7 +21,7 @@ public class GuiThreadHandler extends Handler {
2021
public static final int SERVICE_DELAYED_CHECK_REACHABILITY = 1818;
2122
private static final String TAG = "GuiThreadHandler";
2223

23-
GuiThreadHandler() {
24+
public GuiThreadHandler() {
2425
super(Looper.getMainLooper());
2526
}
2627

app/src/main/java/oly/netpowerctrl/main/LifecycleHandler.java

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import java.lang.ref.WeakReference;
99

10+
import oly.netpowerctrl.App;
1011
import oly.netpowerctrl.data.DataService;
1112
import oly.netpowerctrl.preferences.SharedPrefs;
1213
import oly.netpowerctrl.status_bar.AndroidStatusBarService;

0 commit comments

Comments
 (0)