Back to project page dissertation-project.
The source code is released under:
MIT License
If you think the Android project dissertation-project listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.fyp.resilience.view; /* w ww. ja va 2s . c om*/ import android.content.Context; import android.util.AttributeSet; import android.widget.ProgressBar; import android.widget.RelativeLayout; import android.widget.TextView; import com.fyp.resilience.R; import com.fyp.resilience.connection.Connectable; import com.fyp.resilience.event.ConnectionProgressChange; import com.fyp.resilience.event.ConnectionStateChange; import de.greenrobot.event.EventBus; public class ConnectionView extends RelativeLayout { private Connectable mConnectable; public ConnectionView(Context context, AttributeSet attrs) { super(context, attrs); } private TextView getConnectionDescription() { return (TextView) findViewById(R.id.connection_view_item_type); } private ProgressBar getProgressBar() { return (ProgressBar) findViewById(R.id.connection_view_item_progress); } private TextView getConnectionState() { return (TextView) findViewById(R.id.connection_view_item_state); } public void setConnectable(Connectable connectable) { mConnectable = connectable; getProgressBar().setProgress(connectable.getProgress()); switch (mConnectable.getConnectionType()) { case Connectable.CONNECTION_TYPE_SERVER_UPLOAD: getConnectionDescription().setText("Uploading to Server"); break; case Connectable.CONNECTION_TYPE_SERVER_DOWNLOAD: getConnectionDescription().setText("Downloading from Server"); break; case Connectable.CONNECTION_TYPE_WIFI_UPLOAD: getConnectionDescription().setText("Wi-Fi Upload"); break; case Connectable.CONNECTION_TYPE_WIFI_DOWNLOAD: getConnectionDescription().setText("Wi-Fi Download"); break; } switch (mConnectable.getConnectionStatus()) { case Connectable.STATUS_IN_PROGRESS: getConnectionState().setText("Working..."); break; case Connectable.STATUS_WAITING: getConnectionState().setText("Waiting..."); break; case Connectable.STATUS_HASHING: getConnectionState().setText("Hashing..."); break; case Connectable.STATUS_BACKING_OFF: getConnectionState().setText("Backing off..."); break; } } @Override protected void onAttachedToWindow() { super.onAttachedToWindow(); EventBus.getDefault().register(this, ConnectionProgressChange.class, ConnectionStateChange.class); } @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); EventBus.getDefault().unregister(this); } public void onEventMainThread(ConnectionProgressChange event) { if (event.getConnectable() == mConnectable) { getProgressBar().setProgress(event.getConnectable().getProgress()); requestLayout(); } } public void onEventMainThread(ConnectionStateChange event) { if (event.getConnectable() == mConnectable) { setConnectable(event.getConnectable()); requestLayout(); } } }