2015-06-19 22:02:10 -07:00
|
|
|
package org.thoughtcrime.securesms;
|
|
|
|
|
|
|
|
import android.content.Context;
|
|
|
|
import android.text.TextUtils;
|
|
|
|
import android.util.AttributeSet;
|
|
|
|
import android.widget.LinearLayout;
|
|
|
|
import android.widget.TextView;
|
|
|
|
|
|
|
|
import org.thoughtcrime.securesms.util.DateUtils;
|
2016-03-23 10:34:41 -07:00
|
|
|
import org.whispersystems.signalservice.api.messages.multidevice.DeviceInfo;
|
2015-06-19 22:02:10 -07:00
|
|
|
|
|
|
|
import java.util.Locale;
|
|
|
|
|
|
|
|
public class DeviceListItem extends LinearLayout {
|
|
|
|
|
|
|
|
private long deviceId;
|
|
|
|
private TextView name;
|
|
|
|
private TextView created;
|
|
|
|
private TextView lastActive;
|
|
|
|
|
|
|
|
public DeviceListItem(Context context) {
|
|
|
|
super(context);
|
|
|
|
}
|
|
|
|
|
|
|
|
public DeviceListItem(Context context, AttributeSet attrs) {
|
|
|
|
super(context, attrs);
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onFinishInflate() {
|
|
|
|
super.onFinishInflate();
|
|
|
|
this.name = (TextView) findViewById(R.id.name);
|
|
|
|
this.created = (TextView) findViewById(R.id.created);
|
|
|
|
this.lastActive = (TextView) findViewById(R.id.active);
|
|
|
|
}
|
|
|
|
|
2015-12-02 16:35:07 +09:00
|
|
|
public void set(DeviceInfo deviceInfo, Locale locale) {
|
2015-06-19 22:02:10 -07:00
|
|
|
if (TextUtils.isEmpty(deviceInfo.getName())) this.name.setText(R.string.DeviceListItem_unnamed_device);
|
|
|
|
else this.name.setText(deviceInfo.getName());
|
|
|
|
|
2015-07-28 18:29:57 +09:00
|
|
|
this.created.setText(getContext().getString(R.string.DeviceListItem_linked_s,
|
2015-11-23 16:25:04 -08:00
|
|
|
DateUtils.getDayPrecisionTimeSpanString(getContext(),
|
2015-12-02 16:35:07 +09:00
|
|
|
locale,
|
2015-11-23 16:25:04 -08:00
|
|
|
deviceInfo.getCreated())));
|
2015-06-19 22:02:10 -07:00
|
|
|
|
|
|
|
this.lastActive.setText(getContext().getString(R.string.DeviceListItem_last_active_s,
|
2015-11-23 16:25:04 -08:00
|
|
|
DateUtils.getDayPrecisionTimeSpanString(getContext(),
|
2015-12-02 16:35:07 +09:00
|
|
|
locale,
|
2015-11-23 16:25:04 -08:00
|
|
|
deviceInfo.getLastSeen())));
|
2015-06-19 22:02:10 -07:00
|
|
|
|
|
|
|
this.deviceId = deviceInfo.getId();
|
|
|
|
}
|
|
|
|
|
|
|
|
public long getDeviceId() {
|
|
|
|
return deviceId;
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getDeviceName() {
|
|
|
|
return name.getText().toString();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|