Skip to content

Commit 93e2bb2

Browse files
committed
Version 1.14.0
Switching to AppCompatActivity, better Navigation drawer, DFU bug fixed.
1 parent fe23ee9 commit 93e2bb2

File tree

93 files changed

+4689
-3958
lines changed

Some content is hidden

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

93 files changed

+4689
-3958
lines changed

app/app.iml

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<module external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="nRFToolbox" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
2+
<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" external.system.module.group="nRFToolbox" external.system.module.version="unspecified" type="JAVA_MODULE" version="4">
33
<component name="FacetManager">
44
<facet type="android-gradle" name="Android-Gradle">
55
<configuration>
@@ -12,8 +12,9 @@
1212
<option name="SELECTED_TEST_ARTIFACT" value="_android_test_" />
1313
<option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
1414
<option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
15-
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
1615
<option name="SOURCE_GEN_TASK_NAME" value="generateDebugSources" />
16+
<option name="ASSEMBLE_TEST_TASK_NAME" value="assembleDebugAndroidTest" />
17+
<option name="COMPILE_JAVA_TEST_TASK_NAME" value="compileDebugAndroidTestSources" />
1718
<option name="TEST_SOURCE_GEN_TASK_NAME" value="generateDebugAndroidTestSources" />
1819
<option name="ALLOW_USER_CONFIGURATION" value="false" />
1920
<option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
@@ -85,13 +86,13 @@
8586
</content>
8687
<orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" />
8788
<orderEntry type="sourceFolder" forTests="false" />
88-
<orderEntry type="library" exported="" name="appcompat-v7-22.1.1" level="project" />
8989
<orderEntry type="library" exported="" name="gson-2.3.1" level="project" />
90+
<orderEntry type="library" exported="" name="design-22.2.0" level="project" />
9091
<orderEntry type="library" exported="" name="nrf-logger-v2.0" level="project" />
92+
<orderEntry type="library" exported="" name="support-v4-22.2.0" level="project" />
93+
<orderEntry type="library" exported="" name="support-annotations-22.2.0" level="project" />
9194
<orderEntry type="library" exported="" name="achartengine-1.1.0" level="project" />
92-
<orderEntry type="library" exported="" name="support-v4-22.1.1" level="project" />
93-
<orderEntry type="library" exported="" name="support-annotations-22.1.1" level="project" />
95+
<orderEntry type="library" exported="" name="appcompat-v7-22.2.0" level="project" />
9496
<orderEntry type="module" module-name="dfu" exported="" />
9597
</component>
96-
</module>
97-
98+
</module>

app/build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ android {
77
applicationId "no.nordicsemi.android.nrftoolbox"
88
minSdkVersion 18
99
targetSdkVersion 22
10-
versionCode 32
11-
versionName "1.13.1"
10+
versionCode 33
11+
versionName "1.14.0"
1212
}
1313
buildTypes {
1414
release {
@@ -20,7 +20,8 @@ android {
2020

2121
dependencies {
2222
compile fileTree(dir: 'libs', include: ['*.jar'])
23-
compile 'com.android.support:appcompat-v7:22.1.1'
23+
compile 'com.android.support:appcompat-v7:22.2.0'
24+
compile 'com.android.support:design:22.2.0'
2425
compile project(':..:DFULibrary:dfu')
2526
compile files('libs/achartengine-1.1.0.jar')
2627
compile files('libs/nrf-logger-v2.0.jar')

app/src/main/AndroidManifest.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2424
package="no.nordicsemi.android.nrftoolbox"
2525
android:installLocation="auto"
26-
android:versionCode="32"
27-
android:versionName="1.13.1" >
26+
android:versionCode="33"
27+
android:versionName="1.14.1" >
2828

2929
<uses-sdk
3030
android:minSdkVersion="18"
@@ -57,6 +57,7 @@
5757
<activity
5858
android:name="no.nordicsemi.android.nrftoolbox.FeaturesActivity"
5959
android:label="@string/app_name"
60+
android:theme="@style/AppTheme.TranslucentStatusBar"
6061
android:launchMode="singleTask" >
6162
</activity>
6263

app/src/main/java/no/nordicsemi/android/nrftoolbox/AppHelpFragment.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,12 @@
2121
*/
2222
package no.nordicsemi.android.nrftoolbox;
2323

24-
import android.app.AlertDialog;
2524
import android.app.Dialog;
26-
import android.app.DialogFragment;
2725
import android.content.pm.PackageManager.NameNotFoundException;
2826
import android.os.Bundle;
27+
import android.support.annotation.NonNull;
28+
import android.support.v4.app.DialogFragment;
29+
import android.support.v7.app.AlertDialog;
2930

3031
public class AppHelpFragment extends DialogFragment {
3132
private static final String ARG_TEXT = "ARG_TEXT";
@@ -54,6 +55,7 @@ public static AppHelpFragment getInstance(final int aboutResId) {
5455
}
5556

5657
@Override
58+
@NonNull
5759
public Dialog onCreateDialog(final Bundle savedInstanceState) {
5860
final Bundle args = getArguments();
5961
final StringBuilder text = new StringBuilder(getString(args.getInt(ARG_TEXT)));

app/src/main/java/no/nordicsemi/android/nrftoolbox/FeaturesActivity.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@
3434
import android.os.Bundle;
3535
import android.support.v4.view.GravityCompat;
3636
import android.support.v4.widget.DrawerLayout;
37-
import android.support.v7.app.ActionBarActivity;
3837
import android.support.v7.app.ActionBarDrawerToggle;
38+
import android.support.v7.app.AppCompatActivity;
39+
import android.support.v7.widget.Toolbar;
3940
import android.view.LayoutInflater;
4041
import android.view.Menu;
4142
import android.view.MenuItem;
@@ -50,7 +51,7 @@
5051

5152
import no.nordicsemi.android.nrftoolbox.adapter.AppAdapter;
5253

53-
public class FeaturesActivity extends ActionBarActivity {
54+
public class FeaturesActivity extends AppCompatActivity {
5455
private static final String MCP_CATEGORY = "no.nordicsemi.android.nrftoolbox.LAUNCHER";
5556
private static final String UTILS_CATEGORY = "no.nordicsemi.android.nrftoolbox.UTILS";
5657
private static final String MCP_PACKAGE = "no.nordicsemi.android.mcp";
@@ -65,6 +66,9 @@ protected void onCreate(final Bundle savedInstanceState) {
6566
super.onCreate(savedInstanceState);
6667
setContentView(R.layout.activity_features);
6768

69+
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
70+
setSupportActionBar(toolbar);
71+
6872
// ensure that Bluetooth exists
6973
if (!ensureBLEExists())
7074
finish();
@@ -73,7 +77,13 @@ protected void onCreate(final Bundle savedInstanceState) {
7377
drawer.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START);
7478

7579
// Set the drawer toggle as the DrawerListener
76-
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close);
80+
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) {
81+
@Override
82+
public void onDrawerSlide(final View drawerView, final float slideOffset) {
83+
// Disable the Hamburger icon animation
84+
super.onDrawerSlide(drawerView, 0);
85+
}
86+
};
7787
drawer.setDrawerListener(mDrawerToggle);
7888

7989
// setup plug-ins in the drawer
@@ -117,7 +127,7 @@ public boolean onOptionsItemSelected(final MenuItem item) {
117127
switch (item.getItemId()) {
118128
case R.id.action_about:
119129
final AppHelpFragment fragment = AppHelpFragment.getInstance(R.string.about_text, true);
120-
fragment.show(getFragmentManager(), null);
130+
fragment.show(getSupportFragmentManager(), null);
121131
break;
122132
}
123133
return true;

app/src/main/java/no/nordicsemi/android/nrftoolbox/app/ExpandableListActivity.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@
1919
import android.app.Activity;
2020
import android.database.Cursor;
2121
import android.os.Bundle;
22-
import android.support.v7.app.ActionBarActivity;
22+
import android.support.annotation.NonNull;
23+
import android.support.v7.app.AppCompatActivity;
2324
import android.view.ContextMenu;
2425
import android.view.ContextMenu.ContextMenuInfo;
2526
import android.view.View;
@@ -132,7 +133,7 @@
132133
* @see #setListAdapter
133134
* @see android.widget.ExpandableListView
134135
*/
135-
public class ExpandableListActivity extends ActionBarActivity implements
136+
public class ExpandableListActivity extends AppCompatActivity implements
136137
OnCreateContextMenuListener,
137138
ExpandableListView.OnChildClickListener, ExpandableListView.OnGroupCollapseListener,
138139
ExpandableListView.OnGroupExpandListener {
@@ -182,18 +183,18 @@ public void onGroupExpand(int groupPosition) {
182183
* @see Activity#onRestoreInstanceState(Bundle)
183184
*/
184185
@Override
185-
protected void onRestoreInstanceState(Bundle state) {
186+
protected void onRestoreInstanceState(@NonNull Bundle state) {
186187
ensureList();
187188
super.onRestoreInstanceState(state);
188189
}
189190

190191
/**
191192
* Updates the screen state (current list and other views) when the content changes.
192193
*
193-
* @see ActionBarActivity#onSupportContentChanged()
194+
* @see android.support.v7.app.AppCompatActivity#onContentChanged()
194195
*/
195196
@Override
196-
public void onSupportContentChanged() {
197+
public void onContentChanged() {
197198
super.onContentChanged();
198199
View emptyView = findViewById(R.id.empty);
199200
mList = (ExpandableListView) findViewById(R.id.list);

app/src/main/java/no/nordicsemi/android/nrftoolbox/bpm/BPMActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public class BPMActivity extends BleProfileActivity implements BPMManagerCallbac
4646
private TextView mTimestampView;
4747

4848
@Override
49-
protected void onCreateView(Bundle savedInstanceState) {
49+
protected void onCreateView(final Bundle savedInstanceState) {
5050
setContentView(R.layout.activity_feature_bpm);
5151
setGUI();
5252
}

app/src/main/java/no/nordicsemi/android/nrftoolbox/csc/settings/SettingsActivity.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,25 @@
2323
package no.nordicsemi.android.nrftoolbox.csc.settings;
2424

2525
import android.os.Bundle;
26-
import android.support.v7.app.ActionBarActivity;
26+
import android.support.v7.app.AppCompatActivity;
27+
import android.support.v7.widget.Toolbar;
2728
import android.view.MenuItem;
2829

29-
public class SettingsActivity extends ActionBarActivity {
30+
import no.nordicsemi.android.nrftoolbox.R;
31+
32+
public class SettingsActivity extends AppCompatActivity {
3033

3134
@Override
3235
protected void onCreate(final Bundle savedInstanceState) {
3336
super.onCreate(savedInstanceState);
37+
setContentView(R.layout.activity_settings);
3438

39+
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
40+
setSupportActionBar(toolbar);
3541
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
3642

3743
// Display the fragment as the main content.
38-
getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit();
44+
getFragmentManager().beginTransaction().replace(R.id.content, new SettingsFragment()).commit();
3945
}
4046

4147
@Override

app/src/main/java/no/nordicsemi/android/nrftoolbox/dfu/DfuActivity.java

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323

2424
import android.app.ActivityManager;
2525
import android.app.ActivityManager.RunningServiceInfo;
26-
import android.app.AlertDialog;
27-
import android.app.FragmentManager;
2826
import android.app.LoaderManager.LoaderCallbacks;
2927
import android.app.NotificationManager;
3028
import android.bluetooth.BluetoothAdapter;
@@ -47,8 +45,9 @@
4745
import android.preference.PreferenceManager;
4846
import android.provider.MediaStore;
4947
import android.support.v4.content.LocalBroadcastManager;
50-
import android.support.v7.app.ActionBar;
51-
import android.support.v7.app.ActionBarActivity;
48+
import android.support.v7.app.AlertDialog;
49+
import android.support.v7.app.AppCompatActivity;
50+
import android.support.v7.widget.Toolbar;
5251
import android.text.TextUtils;
5352
import android.view.Menu;
5453
import android.view.MenuItem;
@@ -81,7 +80,7 @@
8180
* DeviceScannerFragment.OnDeviceSelectedListener callback to receive callback when device is selected from scanning dialog The activity supports portrait and
8281
* landscape orientations
8382
*/
84-
public class DfuActivity extends ActionBarActivity implements LoaderCallbacks<Cursor>, ScannerFragment.OnDeviceSelectedListener,
83+
public class DfuActivity extends AppCompatActivity implements LoaderCallbacks<Cursor>, ScannerFragment.OnDeviceSelectedListener,
8584
UploadCancelFragment.CancelFragmentListener {
8685
private static final String TAG = "DfuActivity";
8786

@@ -197,8 +196,9 @@ protected void onSaveInstanceState(final Bundle outState) {
197196
}
198197

199198
private void setGUI() {
200-
final ActionBar actionBar = getSupportActionBar();
201-
actionBar.setDisplayHomeAsUpEnabled(true);
199+
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
200+
setSupportActionBar(toolbar);
201+
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
202202

203203
mDeviceNameView = (TextView) findViewById(R.id.device_name);
204204
mFileNameView = (TextView) findViewById(R.id.file_name);
@@ -270,9 +270,8 @@ private void showBLEDialog() {
270270
}
271271

272272
private void showDeviceScanningDialog() {
273-
final FragmentManager fm = getFragmentManager();
274273
final ScannerFragment dialog = ScannerFragment.getInstance(DfuActivity.this, null, false); // Device that is advertising directly does not have the GENERAL_DISCOVERABLE nor LIMITED_DISCOVERABLE flag set.
275-
dialog.show(fm, "scan_fragment");
274+
dialog.show(getSupportFragmentManager(), "scan_fragment");
276275
}
277276

278277
private void ensureSamplesExist() {
@@ -436,7 +435,7 @@ public boolean onOptionsItemSelected(final MenuItem item) {
436435
break;
437436
case R.id.action_about:
438437
final AppHelpFragment fragment = AppHelpFragment.getInstance(R.string.dfu_about_text);
439-
fragment.show(getFragmentManager(), "help_fragment");
438+
fragment.show(getSupportFragmentManager(), "help_fragment");
440439
break;
441440
case R.id.action_settings:
442441
final Intent intent = new Intent(this, SettingsActivity.class);
@@ -676,7 +675,7 @@ public void onClick(final DialogInterface dialog, final int which) {
676675
@Override
677676
public void onClick(final DialogInterface dialog, final int which) {
678677
final ZipInfoFragment fragment = new ZipInfoFragment();
679-
fragment.show(getFragmentManager(), "help_fragment");
678+
fragment.show(getSupportFragmentManager(), "help_fragment");
680679
}
681680
}).setNegativeButton(R.string.cancel, null).show();
682681
}
@@ -763,7 +762,7 @@ private void showUploadCancelDialog() {
763762
manager.sendBroadcast(pauseAction);
764763

765764
final UploadCancelFragment fragment = UploadCancelFragment.getInstance();
766-
fragment.show(getFragmentManager(), TAG);
765+
fragment.show(getSupportFragmentManager(), TAG);
767766
}
768767

769768
/**

app/src/main/java/no/nordicsemi/android/nrftoolbox/dfu/DfuInitiatorActivity.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,18 +22,18 @@
2222

2323
package no.nordicsemi.android.nrftoolbox.dfu;
2424

25-
import android.app.Activity;
2625
import android.bluetooth.BluetoothDevice;
2726
import android.content.Intent;
2827
import android.os.Bundle;
28+
import android.support.v7.app.AppCompatActivity;
2929

3030
import no.nordicsemi.android.nrftoolbox.scanner.ScannerFragment;
3131

3232
/**
3333
* The activity is started only by a remote connected computer using ADB. It shows a list of DFU-supported devices in range and allows user to select target device. The HEX file will be uploaded to
3434
* selected device using {@link DfuService}.
3535
*/
36-
public class DfuInitiatorActivity extends Activity implements ScannerFragment.OnDeviceSelectedListener {
36+
public class DfuInitiatorActivity extends AppCompatActivity implements ScannerFragment.OnDeviceSelectedListener {
3737

3838
@Override
3939
protected void onCreate(final Bundle savedInstanceState) {
@@ -46,7 +46,7 @@ protected void onCreate(final Bundle savedInstanceState) {
4646

4747
if (savedInstanceState == null) {
4848
final ScannerFragment fragment = ScannerFragment.getInstance(this, null, false); // Device that is advertising directly does not have the GENERAL_DISCOVERABLE nor LIMITED_DISCOVERABLE flag set.
49-
fragment.show(getFragmentManager(), null);
49+
fragment.show(getSupportFragmentManager(), null);
5050
}
5151
}
5252

app/src/main/java/no/nordicsemi/android/nrftoolbox/dfu/fragment/UploadCancelFragment.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@
2222
package no.nordicsemi.android.nrftoolbox.dfu.fragment;
2323

2424
import android.app.Activity;
25-
import android.app.AlertDialog;
2625
import android.app.Dialog;
27-
import android.app.DialogFragment;
2826
import android.content.DialogInterface;
2927
import android.content.Intent;
3028
import android.os.Bundle;
29+
import android.support.annotation.NonNull;
30+
import android.support.v4.app.DialogFragment;
3131
import android.support.v4.content.LocalBroadcastManager;
32+
import android.support.v7.app.AlertDialog;
3233
import android.util.Log;
3334

3435
import no.nordicsemi.android.nrftoolbox.R;
@@ -61,7 +62,8 @@ public void onAttach(final Activity activity) {
6162
}
6263
}
6364

64-
@Override
65+
@NonNull
66+
@Override
6567
public Dialog onCreateDialog(final Bundle savedInstanceState) {
6668
return new AlertDialog.Builder(getActivity()).setTitle(R.string.dfu_confirmation_dialog_title).setMessage(R.string.dfu_upload_dialog_cancel_message).setCancelable(false)
6769
.setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() {

app/src/main/java/no/nordicsemi/android/nrftoolbox/dfu/fragment/ZipInfoFragment.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,11 @@
2121
*/
2222
package no.nordicsemi.android.nrftoolbox.dfu.fragment;
2323

24-
import android.app.AlertDialog;
2524
import android.app.Dialog;
26-
import android.app.DialogFragment;
2725
import android.os.Bundle;
26+
import android.support.annotation.NonNull;
27+
import android.support.v4.app.DialogFragment;
28+
import android.support.v7.app.AlertDialog;
2829
import android.view.LayoutInflater;
2930
import android.view.View;
3031

@@ -33,6 +34,7 @@
3334
public class ZipInfoFragment extends DialogFragment {
3435

3536
@Override
37+
@NonNull
3638
public Dialog onCreateDialog(final Bundle savedInstanceState) {
3739
final View view = LayoutInflater.from(getActivity()).inflate(R.layout.fragment_zip_info, null);
3840
return new AlertDialog.Builder(getActivity()).setView(view).setTitle(R.string.dfu_file_info).setPositiveButton(R.string.ok, null).create();

0 commit comments

Comments
 (0)