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 0000000..1323e57 Binary files /dev/null and b/app/src/main/res/drawable/alarm.png differ 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"> + + + + +