Created
September 14, 2016 06:59
-
-
Save maydin/ec16b00ce76b22198b3c06811061eb11 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class SecondActivity extends AppCompatActivity implements rx.functions.Action1<Appliance> { | |
RecyclerView applianceListView; | |
ApplianceAdapter applianceAdapter; | |
private Subscription rxSensorSubscriptionAsync; | |
@Inject | |
RxDiscoveryManager rxDiscoveryManager; | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_second); | |
((App) getApplication()).getComponent().inject(this); | |
initializeActivity(); | |
} | |
private void initializeActivity() { | |
List<Appliance> applianceList = new ArrayList<>(); | |
applianceAdapter = new ApplianceAdapter(this, applianceList); | |
applianceListView = (RecyclerView) this.findViewById(R.id.appliance_list_view); | |
applianceListView.setAdapter(applianceAdapter); | |
applianceListView.setLayoutManager(new LinearLayoutManager(this)); | |
applianceListView.setItemAnimator(new SlideInUpAnimator(new OvershootInterpolator(1f))); | |
applianceListView.getItemAnimator().setAddDuration(2000); | |
applianceListView.getItemAnimator().setRemoveDuration(2000); | |
} | |
@Override | |
public void call(Appliance appliance) { | |
if (appliance.status == Appliance.APPLIANCE_LIST_STATUS_ADDED) | |
this.applianceAdapter.addAppliance(appliance); | |
else | |
this.applianceAdapter.removeAppliance(appliance); | |
} | |
public void startDiscovery(View v) { | |
rxSensorSubscriptionAsync = rxDiscoveryManager.discoveryChanged(AsyncEmitter.BackpressureMode.BUFFER) | |
.observeOn(AndroidSchedulers.mainThread()) | |
.subscribe(this); | |
} | |
@Override | |
protected void onPause() { | |
super.onPause(); | |
if(rxSensorSubscriptionAsync != null) | |
rxSensorSubscriptionAsync.unsubscribe(); | |
} | |
public void stopDiscovery(View v) { | |
if (rxSensorSubscriptionAsync == null) | |
return; | |
this.applianceAdapter.clearAppliances(); | |
rxSensorSubscriptionAsync.unsubscribe(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment