[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdeconnect-android/filetransfer] KdeConnect/src/main: Store device's protocol version and show a wa
From: Albert Vaca <albertvaka () gmail ! com>
Date: 2013-10-01 1:29:38
Message-ID: E1VQomQ-0000u3-Vc () scm ! kde ! org
[Download RAW message or body]
Git commit 35170356059991544419065912eeb7be8e681e69 by Albert Vaca.
Committed on 01/10/2013 at 01:24.
Pushed by albertvaka into branch 'filetransfer'.
Store device's protocol version and show a warning if it doesn't match
M +3 -3 KdeConnect/src/main/java/org/kde/kdeconnect/BackgroundService.java
M +14 -5 KdeConnect/src/main/java/org/kde/kdeconnect/Device.java
M +11 -0 KdeConnect/src/main/java/org/kde/kdeconnect/UserInterface/List/DeviceItem.java
M +18 -34 KdeConnect/src/main/res/layout/list_item_entry.xml
M +2 -0 KdeConnect/src/main/res/values/strings.xml
http://commits.kde.org/kdeconnect-android/35170356059991544419065912eeb7be8e681e69
diff --git a/KdeConnect/src/main/java/org/kde/kdeconnect/BackgroundService.java \
b/KdeConnect/src/main/java/org/kde/kdeconnect/BackgroundService.java index \
6cb3b7b..d68db4a 100644
--- a/KdeConnect/src/main/java/org/kde/kdeconnect/BackgroundService.java
+++ b/KdeConnect/src/main/java/org/kde/kdeconnect/BackgroundService.java
@@ -54,7 +54,7 @@ public class BackgroundService extends Service {
Set<String> trustedDevices = preferences.getAll().keySet();
for(String deviceId : trustedDevices) {
if (preferences.getBoolean(deviceId, false)) {
- Device device = new Device(getBaseContext(), deviceId);
+ Device device = new Device(this, deviceId);
devices.put(deviceId,device);
device.addPairingCallback(devicePairingCallback);
}
@@ -91,11 +91,11 @@ public class BackgroundService extends Service {
if (device != null) {
Log.i("BackgroundService", "addLink, known device: " + deviceId);
- device.addLink(link);
+ device.addLink(identityPackage, link);
} else {
Log.i("BackgroundService", "addLink,unknown device: " + deviceId);
String name = identityPackage.getString("deviceName");
- device = new Device(getBaseContext(), deviceId, name, link);
+ device = new Device(BackgroundService.this, identityPackage, link);
devices.put(deviceId, device);
device.addPairingCallback(devicePairingCallback);
}
diff --git a/KdeConnect/src/main/java/org/kde/kdeconnect/Device.java \
b/KdeConnect/src/main/java/org/kde/kdeconnect/Device.java index cb99ac6..7c6f0b6 \
100644
--- a/KdeConnect/src/main/java/org/kde/kdeconnect/Device.java
+++ b/KdeConnect/src/main/java/org/kde/kdeconnect/Device.java
@@ -42,6 +42,7 @@ public class Device implements BaseLink.PackageReceiver {
private String name;
private PublicKey publicKey;
private int notificationId;
+ private int protocolVersion;
private enum PairStatus {
NotPaired,
@@ -77,6 +78,7 @@ public class Device implements BaseLink.PackageReceiver {
this.deviceId = deviceId;
this.name = settings.getString("deviceName", "unknown device");
this.pairStatus = PairStatus.Paired;
+ this.protocolVersion = NetworkPackage.ProtocolVersion; //We don't know it \
yet
try {
byte[] publicKeyBytes = Base64.decode(settings.getString("publicKey", \
""), 0); @@ -90,18 +92,19 @@ public class Device implements BaseLink.PackageReceiver \
{ }
//Device known via an incoming connection sent to us via a devicelink, we know \
everything but we don't trust it yet
- Device(Context context, String deviceId, String name, BaseLink dl) {
+ Device(Context context, NetworkPackage np, BaseLink dl) {
settings = context.getSharedPreferences(deviceId, Context.MODE_PRIVATE);
//Log.e("Device","Constructor B");
this.context = context;
- this.deviceId = deviceId;
- this.name = name;
+ this.deviceId = np.getString("deviceId");
+ this.name = np.getString("deviceName");
+ this.protocolVersion = np.getInt("protocolVersion");
this.pairStatus = PairStatus.NotPaired;
this.publicKey = null;
- addLink(dl);
+ addLink(np, dl);
}
public String getName() {
@@ -112,6 +115,10 @@ public class Device implements BaseLink.PackageReceiver {
return deviceId;
}
+ //Returns 0 if the version matches, < 0 if it is older or > 0 if it is newer
+ public int compareProtocolVersion() {
+ return protocolVersion - NetworkPackage.ProtocolVersion;
+ }
@@ -262,7 +269,9 @@ public class Device implements BaseLink.PackageReceiver {
return !links.isEmpty();
}
- public void addLink(BaseLink link) {
+ public void addLink(NetworkPackage identityPackage, BaseLink link) {
+
+ this.protocolVersion = identityPackage.getInt("protocolVersion");
links.add(link);
diff --git a/KdeConnect/src/main/java/org/kde/kdeconnect/UserInterface/List/DeviceItem.java \
b/KdeConnect/src/main/java/org/kde/kdeconnect/UserInterface/List/DeviceItem.java \
index b708b83..79bcdcc 100644
--- a/KdeConnect/src/main/java/org/kde/kdeconnect/UserInterface/List/DeviceItem.java
+++ b/KdeConnect/src/main/java/org/kde/kdeconnect/UserInterface/List/DeviceItem.java
@@ -28,6 +28,17 @@ public class DeviceItem implements ListAdapter.Item {
TextView titleView = (TextView)v.findViewById(R.id.list_item_entry_title);
if (titleView != null) titleView.setText(device.getName());
+ if (device.compareProtocolVersion() != 0) {
+ TextView summaryView = \
(TextView)v.findViewById(R.id.list_item_entry_summary); + \
summaryView.setVisibility(View.VISIBLE); + if \
(device.compareProtocolVersion() > 0) { + \
summaryView.setText(R.string.protocol_version_newer); + } else {
+ summaryView.setText(R.string.protocol_version_older);
+ }
+ } else {
+ v.findViewById(R.id.list_item_entry_summary).setVisibility(View.GONE);
+ }
v.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/KdeConnect/src/main/res/layout/list_item_entry.xml \
b/KdeConnect/src/main/res/layout/list_item_entry.xml index 61f2ed2..fd4fd3b 100644
--- a/KdeConnect/src/main/res/layout/list_item_entry.xml
+++ b/KdeConnect/src/main/res/layout/list_item_entry.xml
@@ -6,43 +6,27 @@
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
- android:paddingRight="?android:attr/scrollbarSize">
- <!--
- <ImageView
- android:id="@+id/list_item_entry_drawable"
- android:layout_width="wrap_content"
- android:layout_height="fill_parent"
- android:src="@android:drawable/ic_menu_preferences"
- android:paddingLeft="9dp"/>
+ android:paddingRight="?android:attr/scrollbarSize"
+ android:orientation="vertical">
+
- <RelativeLayout
- android:layout_width="fill_parent"
+ <TextView android:id="@+id/list_item_entry_title"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginLeft="10dip"
- android:layout_marginRight="6dip"
- android:layout_marginTop="3dip"
- android:layout_marginBottom="3dip"
- android:layout_weight="0">
- -->
- <TextView android:id="@+id/list_item_entry_title"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:singleLine="true"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal" />
+ android:singleLine="true"
+ android:textAppearance="?android:attr/textAppearanceLarge"
+ android:ellipsize="marquee"
+ android:fadingEdge="horizontal"
+ android:text="" />
- <!--
- <TextView android:id="@+id/list_item_entry_summary"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@id/list_item_entry_title"
- android:layout_alignLeft="@id/list_item_entry_title"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:singleLine="true"
- android:textColor="?android:attr/textColorSecondary" />
+ <TextView android:id="@+id/list_item_entry_summary"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:textAppearance="?android:attr/textAppearanceSmall"
+ android:singleLine="true"
+ android:textColor="#CC2222"
+ android:visibility="gone"
+ android:text="" />
- </RelativeLayout>
- -->
</LinearLayout>
diff --git a/KdeConnect/src/main/res/values/strings.xml \
b/KdeConnect/src/main/res/values/strings.xml index a86cde6..7dc5a99 100644
--- a/KdeConnect/src/main/res/values/strings.xml
+++ b/KdeConnect/src/main/res/values/strings.xml
@@ -53,6 +53,8 @@
<string name="mpris_next">Next</string>
<string name="mpris_volume">Volume</string>
<string name="share_to">Share To...</string>
+ <string name="protocol_version_older">This device uses an old protocol \
version</string> + <string name="protocol_version_newer">This device uses a newer \
protocol version</string>
</resources>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic