From af02f4e3581d9ec774dfb21aa182039bf9265fbf Mon Sep 17 00:00:00 2001 From: Anjalidubey01 Date: Fri, 24 Jan 2020 20:17:20 +0530 Subject: [PATCH] Added floating button to make dummy profile and also implemented triggering of that profile with WIFI --- app/src/main/AndroidManifest.xml | 2 + .../Create_Profile/CreateProfileActivity.java | 45 ++++++++++++++++-- .../Create_Profile/MyBroadcastReceiver.java | 42 ++++++++++++++++ .../Main_Screen/MainScreenActivity.java | 15 ++++-- .../splitpersonality/WiFi/WifiActivity.java | 16 +++++++ app/src/main/res/drawable/alarm.png | Bin 0 -> 4231 bytes .../res/layout/activity_create_profile.xml | 23 +++++++-- .../main/res/layout/activity_main_screen.xml | 9 ++++ 8 files changed, 142 insertions(+), 10 deletions(-) create mode 100644 app/src/main/java/com/android/splitpersonality/Create_Profile/MyBroadcastReceiver.java create mode 100644 app/src/main/res/drawable/alarm.png diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 19d8540..6e4f47f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,6 +30,8 @@ + + diff --git a/app/src/main/java/com/android/splitpersonality/Create_Profile/CreateProfileActivity.java b/app/src/main/java/com/android/splitpersonality/Create_Profile/CreateProfileActivity.java index 5f1f8a1..4853ff7 100644 --- a/app/src/main/java/com/android/splitpersonality/Create_Profile/CreateProfileActivity.java +++ b/app/src/main/java/com/android/splitpersonality/Create_Profile/CreateProfileActivity.java @@ -2,19 +2,58 @@ import androidx.appcompat.app.AppCompatActivity; +import android.app.AlarmManager; +import android.app.PendingIntent; +import android.content.Intent; import android.os.Bundle; +import android.view.View; +import android.widget.EditText; +import android.widget.TimePicker; +import android.widget.Toast; import com.android.splitpersonality.R; import com.android.splitpersonality.SplitTransition; -public class CreateProfileActivity extends AppCompatActivity { +import java.util.Calendar; +public class CreateProfileActivity extends AppCompatActivity { + TimePicker timePicker; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - SplitTransition.prepareAnimation(this); + SplitTransition.prepareAnimation(CreateProfileActivity.this); setContentView(R.layout.activity_create_profile); + // + timePicker = (TimePicker) findViewById(R.id.timePicker); + findViewById(R.id.buttonAlarm).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + //We need a calendar object to get the specified time in millis + //as the alarm manager method takes time in millis to setup the alarm + Calendar calendar = Calendar.getInstance(); + if (android.os.Build.VERSION.SDK_INT >= 23) { + calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), + timePicker.getHour(), timePicker.getMinute(), 0); + } else { + calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), + timePicker.getCurrentHour(), timePicker.getCurrentMinute(), 0); + } + + + startAlert(calendar.getTimeInMillis()); + } + }); + SplitTransition.animate(this, 500); + + } - SplitTransition.animate(this, 500); + public void startAlert(long time){ + Intent intent = new Intent(this, MyBroadcastReceiver.class); + PendingIntent pendingIntent = PendingIntent.getBroadcast( + this.getApplicationContext(), 234324243, intent, 0); + AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); + //alarm to repeat everyday + alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,time,24*60*1000*60, pendingIntent); + Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show(); } } diff --git a/app/src/main/java/com/android/splitpersonality/Create_Profile/MyBroadcastReceiver.java b/app/src/main/java/com/android/splitpersonality/Create_Profile/MyBroadcastReceiver.java new file mode 100644 index 0000000..f2e794b --- /dev/null +++ b/app/src/main/java/com/android/splitpersonality/Create_Profile/MyBroadcastReceiver.java @@ -0,0 +1,42 @@ +package com.android.splitpersonality.Create_Profile; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.media.Ringtone; +import android.media.RingtoneManager; +import android.net.NetworkInfo; +import android.net.Uri; +import android.net.wifi.WifiInfo; +import android.net.wifi.WifiManager; +import android.util.Log; + +public class MyBroadcastReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + String str="helo"; + //if the connected WIFI is "HP" then trigger the alarm + if(getWifiName(context).equals("\"HP\"")){ + Uri alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); + if (alarmUri == null) { + alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); + } + Ringtone ringtone = RingtoneManager.getRingtone(context, alarmUri); + ringtone.play(); + Log.d("Alarm", "Alarm just fired"+getWifiName(context)+str);} + } + //method to get the wifi + public String getWifiName(Context context) { + WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + if (manager.isWifiEnabled()) { + WifiInfo wifiInfo = manager.getConnectionInfo(); + if (wifiInfo != null) { + NetworkInfo.DetailedState state = WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()); + if (state == NetworkInfo.DetailedState.CONNECTED || state == NetworkInfo.DetailedState.OBTAINING_IPADDR) { + return wifiInfo.getSSID(); + } + } + } + return null; + } +} diff --git a/app/src/main/java/com/android/splitpersonality/Main_Screen/MainScreenActivity.java b/app/src/main/java/com/android/splitpersonality/Main_Screen/MainScreenActivity.java index 2f4bc6e..71aa401 100644 --- a/app/src/main/java/com/android/splitpersonality/Main_Screen/MainScreenActivity.java +++ b/app/src/main/java/com/android/splitpersonality/Main_Screen/MainScreenActivity.java @@ -37,13 +37,14 @@ public class MainScreenActivity extends AppCompatActivity { FloatingActionButton qrscan; @BindView(R.id.fab) FloatingActionButton fab; + @BindView(R.id.alarm) + FloatingActionButton alarm; @BindView(R.id.toolbar) Toolbar toolbar; @BindView(R.id.profile_recycler) RecyclerView profileRecycler; ArrayList list; ProfileListAdapter adapter; - @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -63,6 +64,14 @@ public void onClick(View v) { integrator.initiateScan(); } }); + //it is just to create dummy profile for alarm + alarm.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent ala=new Intent(MainScreenActivity.this,CreateProfileActivity.class); + SplitTransition.startActivity(MainScreenActivity.this,ala); + } + }); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { @@ -106,13 +115,13 @@ protected void onActivityResult(int requestCode, int resultCode, @Nullable Inten private ArrayList prof(){ list=new ArrayList<>(); - +//dummy profiles to get qr : list.add(new Profiles("12/12/2019","12:30pm")); list.add(new Profiles("11/12/2029","11:20am")); list.add(new Profiles("11/1/2017","3:00pm")); list.add(new Profiles("12/12/2019","12:30pm")); list.add(new Profiles("11/12/2029","11:20am")); - //list.add(new Profiles("11/1/2017","3:00pm")); + return list; } diff --git a/app/src/main/java/com/android/splitpersonality/WiFi/WifiActivity.java b/app/src/main/java/com/android/splitpersonality/WiFi/WifiActivity.java index 85019f4..7dbb585 100644 --- a/app/src/main/java/com/android/splitpersonality/WiFi/WifiActivity.java +++ b/app/src/main/java/com/android/splitpersonality/WiFi/WifiActivity.java @@ -14,6 +14,7 @@ import android.graphics.Color; import android.location.LocationManager; import android.net.ConnectivityManager; +import android.net.NetworkInfo; import android.net.wifi.ScanResult; import android.net.wifi.WifiInfo; import android.net.wifi.WifiManager; @@ -167,11 +168,26 @@ public void onReceive(Context c, Intent intent) { y.add(Integer.toString(list.get(i).level)); Log.i("pn",providerName); } + String wifi=getWifiName(c); +Toast.makeText(c,wifi+"hello this is wifi",Toast.LENGTH_LONG); adapter = new recyclerAdapter(WifiActivity.this, provider); listView.setAdapter(adapter); adapter.notifyDataSetChanged(); // location(); } } + public String getWifiName(Context context) { + WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); + if (manager.isWifiEnabled()) { + WifiInfo wifiInfo = manager.getConnectionInfo(); + if (wifiInfo != null) { + NetworkInfo.DetailedState state = WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()); + if (state == NetworkInfo.DetailedState.CONNECTED || state == NetworkInfo.DetailedState.OBTAINING_IPADDR) { + return wifiInfo.getSSID(); + } + } + } + return null; + } } diff --git a/app/src/main/res/drawable/alarm.png b/app/src/main/res/drawable/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..1323e573f005e742b0e7d347b7ab8b9aba359be9 GIT binary patch literal 4231 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 dpo9L$^Bo- literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_create_profile.xml b/app/src/main/res/layout/activity_create_profile.xml index d480fc1..a06d7fc 100644 --- a/app/src/main/res/layout/activity_create_profile.xml +++ b/app/src/main/res/layout/activity_create_profile.xml @@ -6,10 +6,25 @@ android:layout_height="match_parent" android:gravity="center" tools:context=".Create_Profile.CreateProfileActivity"> - - + android:layout_centerVertical="true" + android:orientation="vertical"> + + + + +