Skip to content

Instantly share code, notes, and snippets.

@maydin
Created September 8, 2016 14:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maydin/2272b9ac0ca1783cbcc797097d605df5 to your computer and use it in GitHub Desktop.
Save maydin/2272b9ac0ca1783cbcc797097d605df5 to your computer and use it in GitHub Desktop.
MainActivity
public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
NsdManager mNsdManager;
public String mServiceName = "serviceName";
public static final String SERVICE_TYPE = "_http._tcp.";
NsdServiceInfo mService;
MyDiscoveryListener discoveryListener;
RecyclerView applianceListView;
ApplianceAdapter applianceAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNsdManager = (NsdManager) this.getSystemService(Context.NSD_SERVICE);
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);
}
public void startDiscovery(View v) {
discoveryListener = new MyDiscoveryListener(mServiceName,mNsdManager,this);
mNsdManager.discoverServices(
SERVICE_TYPE, NsdManager.PROTOCOL_DNS_SD,discoveryListener );
}
public void stopDiscovery(View v) {
this.applianceAdapter.clearAppliances();
mNsdManager.stopServiceDiscovery(discoveryListener);
}
public void addAppliance(Appliance appliance)
{
this.applianceAdapter.addAppliance(appliance);
}
public void removeAppliance(Appliance appliance)
{
this.applianceAdapter.removeAppliance(appliance);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment