use of com.jaku.model.Device in project RoMote by wseemann.
the class DeviceAdapter method getView.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
LayoutInflater mInflater = (LayoutInflater) mContext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.device, null);
holder = new ViewHolder();
holder.mIcon = (ImageView) convertView.findViewById(android.R.id.icon);
holder.mText1 = (TextView) convertView.findViewById(android.R.id.text1);
holder.mText2 = (TextView) convertView.findViewById(android.R.id.text2);
holder.mText3 = (TextView) convertView.findViewById(R.id.text3);
holder.mImageButton = (ImageView) convertView.findViewById(R.id.overflow_button);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
final Device device = (Device) getItem(position);
Device connectedDevice = null;
try {
connectedDevice = PreferenceUtils.getConnectedDevice(mContext);
} catch (Exception ex) {
}
Resources res = parent.getContext().getResources();
Bitmap image = Bitmap.createBitmap(70, 70, Bitmap.Config.ARGB_8888);
if (connectedDevice != null && device.getSerialNumber().equals(connectedDevice.getSerialNumber())) {
image.eraseColor(res.getColor(R.color.purple));
} else {
image.eraseColor(res.getColor(R.color.semi_transparent));
}
RoundedBitmapDrawable roundedBitmapDrawable = RoundedBitmapDrawableFactory.create(res, image);
roundedBitmapDrawable.setCornerRadius(Math.max(image.getWidth(), image.getHeight()) / 2.0f);
holder.mIcon.setImageDrawable(roundedBitmapDrawable);
// device.getUserDeviceName());
holder.mText1.setText(device.getModelName());
holder.mText2.setText("SN: " + device.getSerialNumber());
if (connectedDevice != null && device.getSerialNumber().equals(connectedDevice.getSerialNumber())) {
holder.mText3.setText(R.string.connected);
} else {
holder.mText3.setText(R.string.not_connected);
}
holder.mImageButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Message message = mHandler.obtainMessage();
v.setTag(device);
message.obj = v;
mHandler.sendMessage(message);
}
});
return convertView;
}
use of com.jaku.model.Device in project RoMote by wseemann.
the class DeviceInfoFragment method sendCommand.
private void sendCommand(String command) {
String url = command;
QueryDeviceInfoRequest queryActiveAppRequest = new QueryDeviceInfoRequest(url);
JakuRequest request = new JakuRequest(queryActiveAppRequest, new DeviceParser());
new RequestTask(request, new RequestCallback() {
@Override
public void requestResult(RokuRequestTypes rokuRequestType, RequestTask.Result result) {
Device device = (Device) result.mResultValue;
List<Entry> entries = parseDevice(device);
mAdapter.addAll(entries);
mAdapter.notifyDataSetChanged();
DeviceInfoFragment.this.setListShown(true);
}
@Override
public void onErrorResponse(RequestTask.Result result) {
DeviceInfoFragment.this.setListShown(true);
}
}).execute(RokuRequestTypes.query_device_info);
}
use of com.jaku.model.Device in project RoMote by wseemann.
the class MainFragment method onActivityCreated.
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mList.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Device device = (Device) parent.getItemAtPosition(position);
DBUtils.insertDevice(getActivity(), device);
PreferenceUtils.setConnectedDevice(getActivity(), device.getSerialNumber());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getActivity());
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("first_use", false);
editor.commit();
Toast.makeText(getActivity(), "Device " + device.getSerialNumber() + " " + getString(R.string.connected), Toast.LENGTH_SHORT).show();
MainFragment.this.getActivity().sendBroadcast(new Intent(Constants.UPDATE_DEVICE_BROADCAST));
AppWidgetManager widgetManager = AppWidgetManager.getInstance(getActivity());
ComponentName widgetComponent = new ComponentName(getActivity(), RokuAppWidgetProvider.class);
int[] widgetIds = widgetManager.getAppWidgetIds(widgetComponent);
Intent update = new Intent();
update.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, widgetIds);
update.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
getActivity().sendBroadcast(update);
if (mListener != null) {
mListener.onDeviceSelected();
}
mAvailableDeviceAdapter.clear();
mAdapter.notifyDataSetChanged();
getLoaderManager().restartLoader(1, new Bundle(), mPairedDevicesLoader);
}
});
mFab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// ManualConnectionDialog fragment = ManualConnectionDialog.getInstance(getActivity());
// fragment.show(MainFragment.this.getFragmentManager(), ManualConnectionDialog.class.getName());
Intent intent = new Intent(MainFragment.this.getActivity(), ManualConnectionActivity.class);
startActivityForResult(intent, 0);
}
});
mAdapter = new SeparatedListAdapter(getActivity());
mPairedDeviceAdapter = new DeviceAdapter(getActivity(), new ArrayList<Device>(), mHandler);
mAvailableDeviceAdapter = new DeviceAdapter(getActivity(), new ArrayList<Device>(), mHandler);
mAdapter.addSection("Paired devices", mPairedDeviceAdapter);
mAdapter.addSection("Available devices", mAvailableDeviceAdapter);
setListAdapter(mAdapter);
refreshList(false);
}
use of com.jaku.model.Device in project RoMote by wseemann.
the class ManualConnectionDialog method sendCommand.
private void sendCommand(String command) {
String url = command;
QueryDeviceInfoRequest queryActiveAppRequest = new QueryDeviceInfoRequest(url);
JakuRequest request = new JakuRequest(queryActiveAppRequest, new DeviceParser());
new RequestTask(request, new RequestCallback() {
@Override
public void requestResult(RokuRequestTypes rokuRequestType, RequestTask.Result result) {
Device device = (Device) result.mResultValue;
mProgressLayout.setVisibility(View.GONE);
storeDevice(device);
}
@Override
public void onErrorResponse(RequestTask.Result result) {
mProgressLayout.setVisibility(View.GONE);
mErrorText.setVisibility(View.VISIBLE);
}
}).execute(RokuRequestTypes.query_device_info);
}
use of com.jaku.model.Device in project RoMote by wseemann.
the class ManualConnectionFragment method sendCommand.
private void sendCommand(String command) {
String url = command;
QueryDeviceInfoRequest queryActiveAppRequest = new QueryDeviceInfoRequest(url);
JakuRequest request = new JakuRequest(queryActiveAppRequest, new DeviceParser());
new RequestTask(request, new RequestCallback() {
@Override
public void requestResult(RokuRequestTypes rokuRequestType, RequestTask.Result result) {
Device device = (Device) result.mResultValue;
mProgressLayout.setVisibility(View.GONE);
storeDevice(device);
}
@Override
public void onErrorResponse(RequestTask.Result result) {
mProgressLayout.setVisibility(View.GONE);
mErrorText.setVisibility(View.VISIBLE);
}
}).execute(RokuRequestTypes.query_device_info);
}
Aggregations