We are now using AppCompat and support Material
This commit is contained in:
+2
-2
@@ -1,7 +1,7 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||||
|
|
||||||
ext.compileSdkVersion = 18
|
ext.compileSdkVersion = 22
|
||||||
ext.buildToolsVersion = "21.1.1"
|
ext.buildToolsVersion = "22.0.1"
|
||||||
ext.minSdkVersion = 18
|
ext.minSdkVersion = 18
|
||||||
ext.targetSdkVersion = 22
|
ext.targetSdkVersion = 22
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -85,12 +85,12 @@
|
|||||||
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
|
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Android API 18 Platform" jdkType="Android SDK" />
|
<orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" exported="" scope="TEST" name="objenesis-1.0" level="project" />
|
<orderEntry type="library" exported="" scope="TEST" name="objenesis-1.0" level="project" />
|
||||||
|
<orderEntry type="library" exported="" scope="TEST" name="mockable-android-22" level="project" />
|
||||||
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
|
<orderEntry type="library" exported="" scope="TEST" name="hamcrest-core-1.3" level="project" />
|
||||||
<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
|
<orderEntry type="library" exported="" scope="TEST" name="junit-4.12" level="project" />
|
||||||
<orderEntry type="library" exported="" scope="TEST" name="mockable-android-18" level="project" />
|
|
||||||
<orderEntry type="library" exported="" scope="TEST" name="mockito-core-1.9.5" level="project" />
|
<orderEntry type="library" exported="" scope="TEST" name="mockito-core-1.9.5" level="project" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
+14
-5
@@ -8,6 +8,20 @@ final def androidVersionCode = 100
|
|||||||
final def targetSdk = rootProject.targetSdkVersion;
|
final def targetSdk = rootProject.targetSdkVersion;
|
||||||
final def minSdkRed = rootProject.minSdkVersion;
|
final def minSdkRed = rootProject.minSdkVersion;
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
maven {
|
||||||
|
url "https://repo.commonsware.com.s3.amazonaws.com"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
compile 'com.jakewharton:butterknife:7.0.1'
|
||||||
|
compile 'com.android.support:appcompat-v7:22.2.0'
|
||||||
|
compile 'com.commonsware.cwac:merge:1.1.0'
|
||||||
|
compile fileTree(include: ['*.jar'], dir: 'libs')
|
||||||
|
compile project(':library')
|
||||||
|
}
|
||||||
|
|
||||||
android {
|
android {
|
||||||
compileSdkVersion rootProject.compileSdkVersion
|
compileSdkVersion rootProject.compileSdkVersion
|
||||||
buildToolsVersion rootProject.buildToolsVersion
|
buildToolsVersion rootProject.buildToolsVersion
|
||||||
@@ -33,8 +47,3 @@ android {
|
|||||||
productFlavors {
|
productFlavors {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compile fileTree(include: ['*.jar'], dir: 'libs')
|
|
||||||
compile project(':library')
|
|
||||||
}
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -69,6 +69,10 @@
|
|||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/dex-cache" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/appcompat-v7/22.2.0/jars" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.android.support/support-v4/22.2.0/jars" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.commonsware.cwac/merge/1.1.0/jars" />
|
||||||
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/exploded-aar/com.commonsware.cwac/sacklist/1.0.2/jars" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/jacoco" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
|
<excludeFolder url="file://$MODULE_DIR$/build/intermediates/javaResources" />
|
||||||
@@ -84,14 +88,16 @@
|
|||||||
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
<excludeFolder url="file://$MODULE_DIR$/build/outputs" />
|
||||||
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
|
<excludeFolder url="file://$MODULE_DIR$/build/tmp" />
|
||||||
</content>
|
</content>
|
||||||
<orderEntry type="jdk" jdkName="Android API 18 Platform" jdkType="Android SDK" />
|
<orderEntry type="jdk" jdkName="Android API 22 Platform" jdkType="Android SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
<orderEntry type="library" exported="" name="merge-1.0.1" level="project" />
|
<orderEntry type="library" exported="" scope="TEST" name="mockable-android-22" level="project" />
|
||||||
<orderEntry type="library" exported="" name="android-support-v4" level="project" />
|
<orderEntry type="library" exported="" name="butterknife-7.0.1" level="project" />
|
||||||
<orderEntry type="library" exported="" name="sacklist-1.0.0" level="project" />
|
<orderEntry type="library" exported="" name="merge-1.1.0" level="project" />
|
||||||
|
<orderEntry type="library" exported="" name="sacklist-1.0.2" level="project" />
|
||||||
<orderEntry type="library" exported="" name="EasyCursor-0.1.1" level="project" />
|
<orderEntry type="library" exported="" name="EasyCursor-0.1.1" level="project" />
|
||||||
<orderEntry type="library" exported="" scope="TEST" name="mockable-android-18" level="project" />
|
<orderEntry type="library" exported="" name="support-annotations-22.2.0" level="project" />
|
||||||
<orderEntry type="library" exported="" name="butterknife-4.0.1" level="project" />
|
<orderEntry type="library" exported="" name="support-v4-22.2.0" level="project" />
|
||||||
|
<orderEntry type="library" exported="" name="appcompat-v7-22.2.0" level="project" />
|
||||||
<orderEntry type="module" module-name="library" exported="" />
|
<orderEntry type="module" module-name="library" exported="" />
|
||||||
</component>
|
</component>
|
||||||
</module>
|
</module>
|
||||||
+18
-18
@@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
package uk.co.alt236.btlescan.activities;
|
package uk.co.alt236.btlescan.activities;
|
||||||
|
|
||||||
import android.app.Activity;
|
|
||||||
import android.bluetooth.BluetoothGattCharacteristic;
|
import android.bluetooth.BluetoothGattCharacteristic;
|
||||||
import android.bluetooth.BluetoothGattService;
|
import android.bluetooth.BluetoothGattService;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
@@ -27,6 +26,7 @@ import android.content.IntentFilter;
|
|||||||
import android.content.ServiceConnection;
|
import android.content.ServiceConnection;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
@@ -40,8 +40,8 @@ import java.util.HashMap;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import butterknife.Bind;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import butterknife.InjectView;
|
|
||||||
import uk.co.alt236.bluetoothlelib.device.BluetoothLeDevice;
|
import uk.co.alt236.bluetoothlelib.device.BluetoothLeDevice;
|
||||||
import uk.co.alt236.bluetoothlelib.resolvers.GattAttributeResolver;
|
import uk.co.alt236.bluetoothlelib.resolvers.GattAttributeResolver;
|
||||||
import uk.co.alt236.bluetoothlelib.util.ByteUtils;
|
import uk.co.alt236.bluetoothlelib.util.ByteUtils;
|
||||||
@@ -54,23 +54,23 @@ import uk.co.alt236.btlescan.services.BluetoothLeService;
|
|||||||
* communicates with {@code BluetoothLeService}, which in turn interacts with the
|
* communicates with {@code BluetoothLeService}, which in turn interacts with the
|
||||||
* Bluetooth LE API.
|
* Bluetooth LE API.
|
||||||
*/
|
*/
|
||||||
public class DeviceControlActivity extends Activity {
|
public class DeviceControlActivity extends AppCompatActivity {
|
||||||
public static final String EXTRA_DEVICE = "extra_device";
|
public static final String EXTRA_DEVICE = "extra_device";
|
||||||
private final static String TAG = DeviceControlActivity.class.getSimpleName();
|
private final static String TAG = DeviceControlActivity.class.getSimpleName();
|
||||||
private static final String LIST_NAME = "NAME";
|
private static final String LIST_NAME = "NAME";
|
||||||
private static final String LIST_UUID = "UUID";
|
private static final String LIST_UUID = "UUID";
|
||||||
@InjectView(R.id.gatt_services_list)
|
@Bind(R.id.gatt_services_list)
|
||||||
ExpandableListView mGattServicesList;
|
protected ExpandableListView mGattServicesList;
|
||||||
@InjectView(R.id.connection_state)
|
@Bind(R.id.connection_state)
|
||||||
TextView mConnectionState;
|
protected TextView mConnectionState;
|
||||||
@InjectView(R.id.uuid)
|
@Bind(R.id.uuid)
|
||||||
TextView mGattUUID;
|
protected TextView mGattUUID;
|
||||||
@InjectView(R.id.description)
|
@Bind(R.id.description)
|
||||||
TextView mGattUUIDDesc;
|
protected TextView mGattUUIDDesc;
|
||||||
@InjectView(R.id.data_as_string)
|
@Bind(R.id.data_as_string)
|
||||||
TextView mDataAsString;
|
protected TextView mDataAsString;
|
||||||
@InjectView(R.id.data_as_array)
|
@Bind(R.id.data_as_array)
|
||||||
TextView mDataAsArray;
|
protected TextView mDataAsArray;
|
||||||
private BluetoothGattCharacteristic mNotifyCharacteristic;
|
private BluetoothGattCharacteristic mNotifyCharacteristic;
|
||||||
private BluetoothLeService mBluetoothLeService;
|
private BluetoothLeService mBluetoothLeService;
|
||||||
private List<List<BluetoothGattCharacteristic>> mGattCharacteristics = new ArrayList<>();
|
private List<List<BluetoothGattCharacteristic>> mGattCharacteristics = new ArrayList<>();
|
||||||
@@ -282,14 +282,14 @@ public class DeviceControlActivity extends Activity {
|
|||||||
mDeviceName = device.getName();
|
mDeviceName = device.getName();
|
||||||
mDeviceAddress = device.getAddress();
|
mDeviceAddress = device.getAddress();
|
||||||
|
|
||||||
ButterKnife.inject(this);
|
ButterKnife.bind(this);
|
||||||
|
|
||||||
// Sets up UI references.
|
// Sets up UI references.
|
||||||
((TextView) findViewById(R.id.device_address)).setText(mDeviceAddress);
|
((TextView) findViewById(R.id.device_address)).setText(mDeviceAddress);
|
||||||
mGattServicesList.setOnChildClickListener(servicesListClickListner);
|
mGattServicesList.setOnChildClickListener(servicesListClickListner);
|
||||||
|
|
||||||
getActionBar().setTitle(mDeviceName);
|
getSupportActionBar().setTitle(mDeviceName);
|
||||||
getActionBar().setDisplayHomeAsUpEnabled(true);
|
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
|
||||||
|
|
||||||
final Intent gattServiceIntent = new Intent(this, BluetoothLeService.class);
|
final Intent gattServiceIntent = new Intent(this, BluetoothLeService.class);
|
||||||
bindService(gattServiceIntent, mServiceConnection, BIND_AUTO_CREATE);
|
bindService(gattServiceIntent, mServiceConnection, BIND_AUTO_CREATE);
|
||||||
|
|||||||
+15
-5
@@ -1,11 +1,14 @@
|
|||||||
package uk.co.alt236.btlescan.activities;
|
package uk.co.alt236.btlescan.activities;
|
||||||
|
|
||||||
import android.app.ListActivity;
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.annotation.Nullable;
|
||||||
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
|
import android.view.View;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
|
import android.widget.ListView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.commonsware.cwac.merge.MergeAdapter;
|
import com.commonsware.cwac.merge.MergeAdapter;
|
||||||
@@ -13,6 +16,7 @@ import com.commonsware.cwac.merge.MergeAdapter;
|
|||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
import butterknife.Bind;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import uk.co.alt236.bluetoothlelib.device.BluetoothLeDevice;
|
import uk.co.alt236.bluetoothlelib.device.BluetoothLeDevice;
|
||||||
import uk.co.alt236.bluetoothlelib.device.adrecord.AdRecord;
|
import uk.co.alt236.bluetoothlelib.device.adrecord.AdRecord;
|
||||||
@@ -24,9 +28,13 @@ import uk.co.alt236.bluetoothlelib.util.IBeaconUtils;
|
|||||||
import uk.co.alt236.btlescan.R;
|
import uk.co.alt236.btlescan.R;
|
||||||
import uk.co.alt236.btlescan.util.TimeFormatter;
|
import uk.co.alt236.btlescan.util.TimeFormatter;
|
||||||
|
|
||||||
public class DeviceDetailsActivity extends ListActivity {
|
public class DeviceDetailsActivity extends AppCompatActivity {
|
||||||
public static final String EXTRA_DEVICE = "extra_device";
|
public static final String EXTRA_DEVICE = "extra_device";
|
||||||
|
@Bind(android.R.id.list)
|
||||||
|
protected ListView mList;
|
||||||
|
@Nullable
|
||||||
|
@Bind(android.R.id.empty)
|
||||||
|
protected View mEmpty;
|
||||||
private BluetoothLeDevice mDevice;
|
private BluetoothLeDevice mDevice;
|
||||||
|
|
||||||
private void appendAdRecordView(final MergeAdapter adapter, final String title, final AdRecord record) {
|
private void appendAdRecordView(final MergeAdapter adapter, final String title, final AdRecord record) {
|
||||||
@@ -129,7 +137,9 @@ public class DeviceDetailsActivity extends ListActivity {
|
|||||||
protected void onCreate(final Bundle savedInstanceState) {
|
protected void onCreate(final Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_details);
|
setContentView(R.layout.activity_details);
|
||||||
ButterKnife.inject(this);
|
ButterKnife.bind(this);
|
||||||
|
|
||||||
|
mList.setEmptyView(mEmpty);
|
||||||
|
|
||||||
mDevice = getIntent().getParcelableExtra(EXTRA_DEVICE);
|
mDevice = getIntent().getParcelableExtra(EXTRA_DEVICE);
|
||||||
|
|
||||||
@@ -194,7 +204,7 @@ public class DeviceDetailsActivity extends ListActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
getListView().setAdapter(adapter);
|
mList.setAdapter(adapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String formatTime(final long time) {
|
private static String formatTime(final long time) {
|
||||||
|
|||||||
@@ -1,23 +1,24 @@
|
|||||||
package uk.co.alt236.btlescan.activities;
|
package uk.co.alt236.btlescan.activities;
|
||||||
|
|
||||||
import android.app.AlertDialog;
|
import android.app.AlertDialog;
|
||||||
import android.app.ListActivity;
|
|
||||||
import android.bluetooth.BluetoothAdapter;
|
import android.bluetooth.BluetoothAdapter;
|
||||||
import android.bluetooth.BluetoothDevice;
|
import android.bluetooth.BluetoothDevice;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.text.SpannableString;
|
import android.text.SpannableString;
|
||||||
import android.text.method.LinkMovementMethod;
|
import android.text.method.LinkMovementMethod;
|
||||||
import android.text.util.Linkify;
|
import android.text.util.Linkify;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
|
import android.widget.AdapterView;
|
||||||
import android.widget.ListView;
|
import android.widget.ListView;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import butterknife.Bind;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import butterknife.InjectView;
|
|
||||||
import uk.co.alt236.bluetoothlelib.device.BluetoothLeDevice;
|
import uk.co.alt236.bluetoothlelib.device.BluetoothLeDevice;
|
||||||
import uk.co.alt236.btlescan.R;
|
import uk.co.alt236.btlescan.R;
|
||||||
import uk.co.alt236.btlescan.adapters.LeDeviceListAdapter;
|
import uk.co.alt236.btlescan.adapters.LeDeviceListAdapter;
|
||||||
@@ -26,13 +27,17 @@ import uk.co.alt236.btlescan.util.BluetoothLeScanner;
|
|||||||
import uk.co.alt236.btlescan.util.BluetoothUtils;
|
import uk.co.alt236.btlescan.util.BluetoothUtils;
|
||||||
import uk.co.alt236.easycursor.objectcursor.EasyObjectCursor;
|
import uk.co.alt236.easycursor.objectcursor.EasyObjectCursor;
|
||||||
|
|
||||||
public class MainActivity extends ListActivity {
|
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemClickListener {
|
||||||
@InjectView(R.id.tvBluetoothLe)
|
@Bind(R.id.tvBluetoothLe)
|
||||||
TextView mTvBluetoothLeStatus;
|
protected TextView mTvBluetoothLeStatus;
|
||||||
@InjectView(R.id.tvBluetoothStatus)
|
@Bind(R.id.tvBluetoothStatus)
|
||||||
TextView mTvBluetoothStatus;
|
protected TextView mTvBluetoothStatus;
|
||||||
@InjectView(R.id.tvItemCount)
|
@Bind(R.id.tvItemCount)
|
||||||
TextView mTvItemCount;
|
protected TextView mTvItemCount;
|
||||||
|
@Bind(android.R.id.list)
|
||||||
|
protected ListView mList;
|
||||||
|
@Bind(android.R.id.empty)
|
||||||
|
protected View mEmpty;
|
||||||
|
|
||||||
private BluetoothUtils mBluetoothUtils;
|
private BluetoothUtils mBluetoothUtils;
|
||||||
private BluetoothLeScanner mScanner;
|
private BluetoothLeScanner mScanner;
|
||||||
@@ -87,8 +92,9 @@ public class MainActivity extends ListActivity {
|
|||||||
protected void onCreate(final Bundle savedInstanceState) {
|
protected void onCreate(final Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
setContentView(R.layout.activity_main);
|
setContentView(R.layout.activity_main);
|
||||||
ButterKnife.inject(this);
|
ButterKnife.bind(this);
|
||||||
|
mList.setEmptyView(mEmpty);
|
||||||
|
mList.setOnItemClickListener(this);
|
||||||
mDeviceStore = new BluetoothLeDeviceStore();
|
mDeviceStore = new BluetoothLeDeviceStore();
|
||||||
mBluetoothUtils = new BluetoothUtils(this);
|
mBluetoothUtils = new BluetoothUtils(this);
|
||||||
mScanner = new BluetoothLeScanner(mLeScanCallback, mBluetoothUtils);
|
mScanner = new BluetoothLeScanner(mLeScanCallback, mBluetoothUtils);
|
||||||
@@ -108,7 +114,7 @@ public class MainActivity extends ListActivity {
|
|||||||
menu.findItem(R.id.menu_refresh).setActionView(R.layout.actionbar_progress_indeterminate);
|
menu.findItem(R.id.menu_refresh).setActionView(R.layout.actionbar_progress_indeterminate);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getListView().getCount() > 0) {
|
if (mList.getCount() > 0) {
|
||||||
menu.findItem(R.id.menu_share).setVisible(true);
|
menu.findItem(R.id.menu_share).setVisible(true);
|
||||||
} else {
|
} else {
|
||||||
menu.findItem(R.id.menu_share).setVisible(false);
|
menu.findItem(R.id.menu_share).setVisible(false);
|
||||||
@@ -118,7 +124,7 @@ public class MainActivity extends ListActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onListItemClick(final ListView l, final View v, final int position, final long id) {
|
public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
|
||||||
final BluetoothLeDevice device = mLeDeviceListAdapter.getItem(position);
|
final BluetoothLeDevice device = mLeDeviceListAdapter.getItem(position);
|
||||||
if (device == null) return;
|
if (device == null) return;
|
||||||
|
|
||||||
@@ -181,7 +187,7 @@ public class MainActivity extends ListActivity {
|
|||||||
updateItemCount(0);
|
updateItemCount(0);
|
||||||
|
|
||||||
mLeDeviceListAdapter = new LeDeviceListAdapter(this, mDeviceStore.getDeviceCursor());
|
mLeDeviceListAdapter = new LeDeviceListAdapter(this, mDeviceStore.getDeviceCursor());
|
||||||
setListAdapter(mLeDeviceListAdapter);
|
mList.setAdapter(mLeDeviceListAdapter);
|
||||||
|
|
||||||
mBluetoothUtils.askUserToEnableBluetoothIfNeeded();
|
mBluetoothUtils.askUserToEnableBluetoothIfNeeded();
|
||||||
if (mIsBluetoothOn && mIsBluetoothLePresent) {
|
if (mIsBluetoothOn && mIsBluetoothLePresent) {
|
||||||
|
|||||||
@@ -14,14 +14,15 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_connect"
|
android:id="@+id/menu_connect"
|
||||||
android:orderInCategory="100"
|
android:orderInCategory="100"
|
||||||
android:showAsAction="always|withText"
|
android:title="@string/menu_connect"
|
||||||
android:title="@string/menu_connect"/>
|
app:showAsAction="always|withText"/>
|
||||||
|
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
@@ -14,28 +14,30 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_refresh"
|
android:id="@+id/menu_refresh"
|
||||||
android:checkable="false"
|
android:checkable="false"
|
||||||
android:orderInCategory="1"
|
android:orderInCategory="1"
|
||||||
android:showAsAction="ifRoom"/>
|
android:title=""
|
||||||
|
app:showAsAction="always"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_share"
|
android:id="@+id/menu_share"
|
||||||
android:icon="@drawable/ic_action_share"
|
android:icon="@drawable/ic_action_share"
|
||||||
android:orderInCategory="100"
|
android:orderInCategory="100"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_share"
|
||||||
android:title="@string/menu_share"/>
|
app:showAsAction="ifRoom"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_connect"
|
android:id="@+id/menu_connect"
|
||||||
android:orderInCategory="102"
|
android:orderInCategory="102"
|
||||||
android:showAsAction="ifRoom|withText"
|
android:title="@string/menu_connect"
|
||||||
android:title="@string/menu_connect"/>
|
app:showAsAction="ifRoom|withText"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_disconnect"
|
android:id="@+id/menu_disconnect"
|
||||||
android:orderInCategory="103"
|
android:orderInCategory="103"
|
||||||
android:showAsAction="ifRoom|withText"
|
android:title="@string/menu_disconnect"
|
||||||
android:title="@string/menu_disconnect"/>
|
app:showAsAction="ifRoom|withText"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
@@ -14,33 +14,36 @@
|
|||||||
See the License for the specific language governing permissions and
|
See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
-->
|
-->
|
||||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_refresh"
|
android:id="@+id/menu_refresh"
|
||||||
android:checkable="false"
|
android:checkable="false"
|
||||||
android:orderInCategory="1"
|
android:orderInCategory="1"
|
||||||
android:showAsAction="ifRoom"/>
|
android:title=""
|
||||||
|
app:showAsAction="always"/>
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_scan"
|
android:id="@+id/menu_scan"
|
||||||
android:orderInCategory="100"
|
android:orderInCategory="100"
|
||||||
android:showAsAction="ifRoom|withText"
|
android:title="@string/menu_scan"
|
||||||
android:title="@string/menu_scan"/>
|
app:showAsAction="ifRoom|withText"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_stop"
|
android:id="@+id/menu_stop"
|
||||||
android:orderInCategory="101"
|
android:orderInCategory="101"
|
||||||
android:showAsAction="ifRoom|withText"
|
android:title="@string/menu_stop"
|
||||||
android:title="@string/menu_stop"/>
|
app:showAsAction="ifRoom|withText"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_share"
|
android:id="@+id/menu_share"
|
||||||
android:icon="@drawable/ic_action_share"
|
android:icon="@drawable/ic_action_share"
|
||||||
android:orderInCategory="102"
|
android:orderInCategory="102"
|
||||||
android:showAsAction="ifRoom"
|
android:title="@string/menu_share"
|
||||||
android:title="@string/menu_share"/>
|
app:showAsAction="ifRoom"/>
|
||||||
<item
|
<item
|
||||||
android:id="@+id/menu_about"
|
android:id="@+id/menu_about"
|
||||||
android:orderInCategory="103"
|
android:orderInCategory="103"
|
||||||
android:showAsAction="never"
|
android:title="@string/menu_about"
|
||||||
android:title="@string/menu_about"/>
|
app:showAsAction="never"/>
|
||||||
|
|
||||||
</menu>
|
</menu>
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
Base application theme for API 11+. This theme completely replaces
|
Base application theme for API 11+. This theme completely replaces
|
||||||
AppBaseTheme from res/values/styles.xml on API 11+ devices.
|
AppBaseTheme from res/values/styles.xml on API 11+ devices.
|
||||||
-->
|
-->
|
||||||
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
|
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
<!-- API 11 theme customizations can go here. -->
|
<!-- API 11 theme customizations can go here. -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
AppBaseTheme from BOTH res/values/styles.xml and
|
AppBaseTheme from BOTH res/values/styles.xml and
|
||||||
res/values-v11/styles.xml on API 14+ devices.
|
res/values-v11/styles.xml on API 14+ devices.
|
||||||
-->
|
-->
|
||||||
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
|
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
<!-- API 14 theme customizations can go here. -->
|
<!-- API 14 theme customizations can go here. -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
Base application theme, dependent on API level. This theme is replaced
|
Base application theme, dependent on API level. This theme is replaced
|
||||||
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
|
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
|
||||||
-->
|
-->
|
||||||
<style name="AppBaseTheme" parent="android:Theme.Light">
|
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||||
<!--
|
<!--
|
||||||
Theme customizations available in newer API levels can go in
|
Theme customizations available in newer API levels can go in
|
||||||
res/values-vXX/styles.xml, while customizations related to
|
res/values-vXX/styles.xml, while customizations related to
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="GridLayoutDataTextView" parent="android:Widget.Holo.Light.TextView">
|
<style name="GridLayoutDataTextView">
|
||||||
<item name="android:textSize">12sp</item>
|
<item name="android:textSize">12sp</item>
|
||||||
<item name="android:layout_weight">1</item>
|
<item name="android:layout_weight">1</item>
|
||||||
<item name="android:ellipsize">none</item>
|
<item name="android:ellipsize">none</item>
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
<item name="android:typeface">monospace</item>
|
<item name="android:typeface">monospace</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<style name="GridLayoutTitleTextView" parent="android:Widget.Holo.Light.TextView">
|
<style name="GridLayoutTitleTextView">
|
||||||
<item name="android:textSize">12sp</item>
|
<item name="android:textSize">12sp</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user