11package d2d .testing ;
22
33import android .Manifest ;
4+ import android .annotation .SuppressLint ;
45import android .content .Intent ;
56import android .content .IntentFilter ;
67import android .content .pm .ActivityInfo ;
78import android .content .pm .PackageManager ;
9+ import android .content .res .ColorStateList ;
810import android .net .Uri ;
911import android .hardware .Camera ;
10- import android .net .wifi .WifiManager ;
1112import android .net .wifi .p2p .WifiP2pDevice ;
1213import android .net .wifi .p2p .WifiP2pManager ;
1314import android .os .Bundle ;
1617import android .support .v4 .app .ActivityCompat ;
1718import android .support .v4 .view .ViewPager ;
1819import android .support .v7 .app .AppCompatActivity ;
19- import android .text .format .Formatter ;
2020import android .view .Menu ;
2121import android .view .MenuInflater ;
2222import android .view .MenuItem ;
2323import android .widget .Toast ;
2424
2525import java .io .IOException ;
26+ import java .util .ArrayList ;
2627
2728import d2d .testing .gui .DeviceListAdapter ;
2829import d2d .testing .gui .FragmentDevices ;
2930import d2d .testing .gui .FragmentStreams ;
31+ import d2d .testing .gui .StreamDetail ;
3032import d2d .testing .gui .ViewPagerAdapter ;
3133import d2d .testing .net .threads .selectors .RTSPServerSelector ;
3234import d2d .testing .utils .Logger ;
@@ -46,12 +48,14 @@ public class MainActivity extends AppCompatActivity {
4648 private boolean storage_has_perm = false ;
4749 private Camera mCamera ;
4850 private String defaultP2PIp = "192.168.49.1" ;
51+ MenuItem wifiItem ;
4952
5053
5154 private TabLayout tabLayout ;
5255 private ViewPager viewPager ;
5356 private FragmentDevices devices_fragment ;
5457 private FragmentStreams streams_fragment ;
58+ ViewPagerAdapter adapter ;
5559
5660 WifiP2pController mWifiP2pController ;
5761 Permissions wiFiP2pPermissions ;
@@ -99,7 +103,7 @@ private void initialWork() {
99103 streams_fragment .setMainActivity (this );
100104 devices_fragment .setMainActivity (this );
101105
102- ViewPagerAdapter adapter = new ViewPagerAdapter (getSupportFragmentManager ());
106+ adapter = new ViewPagerAdapter (getSupportFragmentManager ());
103107 adapter .AddFragment (devices_fragment ,"WiFi Devices" );
104108 adapter .AddFragment (streams_fragment , "Streams Available" );
105109
@@ -122,7 +126,7 @@ private void initialWork() {
122126 mIntentFilter .addAction (WifiP2pManager .WIFI_P2P_THIS_DEVICE_CHANGED_ACTION );
123127
124128 try {
125- RTSPServerSelector .getInstance ( ).start ();
129+ RTSPServerSelector .initiateInstance ( this ).start ();
126130 } catch (IOException e ) {
127131 e .printStackTrace ();
128132 }
@@ -132,16 +136,23 @@ private void DiscoverPeers(){
132136 mWifiP2pController .discoverPeers (new WifiP2pManager .ActionListener () {
133137 @ Override
134138 public void onSuccess () {
139+ Toast .makeText (getApplicationContext (), "Discovery Started" , Toast .LENGTH_SHORT ).show ();
135140 devices_fragment .setTextView ("Discovery Started" );
136141 }
137142
138143 @ Override
139144 public void onFailure (int reason ) {
145+ Toast .makeText (getApplicationContext (), "Discovery Starting Failed, make sure WiFI is ON" , Toast .LENGTH_SHORT ).show ();
140146 devices_fragment .setTextView ("Discovery Starting Failed" );
141147 }
142148 });
143149 }
144150
151+ public void updateStreamsCounter (int count ){
152+ adapter .setStreamNumber (count );
153+ adapter .notifyDataSetChanged ();
154+ }
155+
145156 private void handleCamera (){
146157 //this.mCamera = getCameraInstance();
147158 //openCameraActivity();
@@ -151,6 +162,8 @@ private void handleCamera(){
151162 public boolean onCreateOptionsMenu (Menu menu ) {
152163 MenuInflater inflater = getMenuInflater ();
153164 inflater .inflate (R .menu .action_items , menu );
165+ wifiItem = menu .getItem (0 );
166+ updateWifiIcon (WifiP2pController .getInstance ().isWifiEnabled ());
154167 return true ;
155168 }
156169 @ Override
@@ -208,6 +221,17 @@ public static String getDeviceStatus(int deviceStatus) {
208221 }
209222 }
210223
224+ @ SuppressLint ("NewApi" )
225+ public void updateWifiIcon (boolean wifi ) {
226+ if (wifiItem != null ) {
227+ if (wifi ) {
228+ wifiItem .setIconTintList (ColorStateList .valueOf (getResources ().getColor (android .R .color .holo_green_light )));
229+ } else {
230+ wifiItem .setIconTintList (ColorStateList .valueOf (getResources ().getColor (android .R .color .holo_red_dark )));
231+ }
232+ }
233+ }
234+
211235 public void updateThisDevice (WifiP2pDevice device ) {
212236 devices_fragment .updateMyDeviceStatus (device );
213237 }
@@ -394,14 +418,17 @@ private boolean checkCameraHardware() {
394418 }
395419 }
396420
421+ public ArrayList <StreamDetail > getStreamlist (){
422+ return streams_fragment .getStreamList ();
423+ }
424+
397425 private void openCameraActivity () {
398426 Intent cameraActivityIntent = new Intent (this , CameraActivity .class );
399427 this .startActivity (cameraActivityIntent );
400428 }
401429
402430 private void openStreamActivity () {
403431 Intent streamActivityIntent = new Intent (this , StreamActivity .class );
404- streamActivityIntent .putExtra ("IP" , defaultP2PIp );
405432 this .startActivity (streamActivityIntent );
406433 }
407434
@@ -412,12 +439,6 @@ public void openViewStreamActivity(String ip) {
412439 this .startActivity (streamActivityIntent );
413440 }
414441
415- public String getMyIpAddress (){
416- WifiManager wm = (WifiManager ) getApplicationContext ().getSystemService (WIFI_SERVICE );
417- String ip = Formatter .formatIpAddress (wm .getConnectionInfo ().getIpAddress ());
418- return ip ;
419- }
420-
421442 public void setDefaultP2PIp (final String ip ){
422443 runOnUiThread (new Runnable () {
423444 public void run () {
0 commit comments