Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.android.material:material:1.0.0'
implementation 'com.google.code.gson:gson:2.8.6'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.0.0'
testImplementation 'junit:junit:4.12'
Expand All @@ -34,4 +37,15 @@ dependencies {
implementation 'com.jakewharton:butterknife:10.0.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'










implementation 'androidx.lifecycle:lifecycle-extensions:2.0.0'
}
27 changes: 17 additions & 10 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,37 @@
package="com.android.splitpersonality">

<dist:module dist:instant="true" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".WiFi.WifiActivity"><intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter></activity>
<activity android:name=".location.locationActivity"/>
<activity android:name=".WiFi.all_wifi" />
<activity android:name=".WiFi.viewpagerr" />
<activity android:name=".WiFi.WifiActivity"/>
<activity android:name=".Create_Profile.CreateProfileActivity" />
<activity
android:name=".Main_Screen.MainScreenActivity"
android:label="@string/title_activity_main_screen"
android:theme="@style/AppTheme.NoActionBar" />
<activity android:name=".Splash_Screen.SplashActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package com.android.splitpersonality.WiFi;

import androidx.arch.core.util.Function;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.Transformations;
import androidx.lifecycle.ViewModel;
public class PageViewModel extends ViewModel {
private MutableLiveData<String> mTitle = new MutableLiveData<>();
private LiveData<String> mText = Transformations.map(mTitle, new Function<String, String>() {
@Override
public String apply(String input) {
return "Contact not available in " + input;
}
});
public void setIndex(String index) {
mTitle.setValue(index);
}
public LiveData<String> getText() {
return mText;
}
}

Original file line number Diff line number Diff line change
@@ -1,47 +1,48 @@
package com.android.splitpersonality.WiFi;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;

import android.Manifest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.graphics.Color;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.view.ViewGroup;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import com.android.splitpersonality.R;
import com.google.android.gms.location.LocationRequest;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

public class WifiActivity extends AppCompatActivity {
public class WifiActivity extends AppCompatActivity {

WifiManager manager;
WifiReceiver receiver;
LocationManager locationManager;
TextView text;
List<ScanResult> list;
ArrayList<String> provider,x,y;
ArrayList<String> provider,x,y, bss;
recyclerAdapter adapter;
ListView listView;

Expand All @@ -67,7 +68,7 @@ public void location()
.setMessage("Please enable location")
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int i) {
startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
// startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
Expand Down Expand Up @@ -145,6 +146,11 @@ public void onReceive(Context context, Intent intent) {
}
};

@Override
public void onPointerCaptureChanged(boolean hasCapture) {

}


class WifiReceiver extends BroadcastReceiver {

Expand All @@ -156,21 +162,39 @@ public void onReceive(Context c, Intent intent) {
if(!provider.isEmpty()) provider.clear();
if(!x.isEmpty()) x.clear();
if(!y.isEmpty()) y.clear();

bss= new ArrayList<>();
String providerName;

// print details
for (int i = 0; i < list.size(); i++) {
providerName = " "+(list.get(i).SSID)+" ("+(list.get(i).BSSID)+" )\n Frequency: "+(list.get(i).frequency)+" MHz\n Strength: "+returnlevel(list.get(i).level);
bss.add(list.get(i).BSSID+"");
provider.add(providerName);
x.add((list.get(i).SSID));
y.add(Integer.toString(list.get(i).level));
Log.i("pn",providerName);
}
adapter = new recyclerAdapter(WifiActivity.this, provider);
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
// location();
Log.e("wwwww",provider.toString());
SharedPreferences sharedPref = WifiActivity.this.getSharedPreferences("wifi_info",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("wifis", provider.toString());
editor.putString("bssid", bss.toString());
editor.apply();
Intent wifiIntent = new Intent(WifiActivity.this,viewpagerr.class);
startActivity(wifiIntent);
}
}

//store bssid for triggering profiles
public void fx(View view)
{
Log.e("aaa",listView.getCount()+"");
for(int i=0;i<listView.getCount();i++)
{
View v = listView.getAdapter().getView(i,null,null);
TextView et = v.findViewById(R.id.bssid);
if(et!=null)
Log.e("d"+i,et.getText().toString());
}
}

Expand Down
122 changes: 122 additions & 0 deletions app/src/main/java/com/android/splitpersonality/WiFi/all_wifi.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
package com.android.splitpersonality.WiFi;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.Manifest;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
import android.location.LocationManager;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Bundle;

import com.android.splitpersonality.R;
import com.google.gson.Gson;

import android.os.Bundle;
import android.util.Log;
import android.util.Pair;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProviders;

import org.w3c.dom.Text;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;


public class all_wifi extends Fragment{
private static final String TAG = "";
private PageViewModel pageViewModel;
public all_wifi() {}
recyclerAdapter adapter;
ArrayList provider,bss;
SharedPreferences sharedPref;

public static all_wifi newInstance() {
return new all_wifi();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pageViewModel = ViewModelProviders.of((Fragment) this).get(PageViewModel.class);
pageViewModel.setIndex(TAG);
provider=new ArrayList<>();
bss=new ArrayList<>();
sharedPref = getActivity().getSharedPreferences("wifi_info",Context.MODE_PRIVATE);
String defaultValue = "none";
provider = new ArrayList<String>(Arrays.asList(sharedPref.getString("wifis", defaultValue).split(",")));
bss = new ArrayList<String>(Arrays.asList(sharedPref.getString("bssid", defaultValue).split(",")));
SharedPreferences settings = getActivity().getSharedPreferences("checks", Context.MODE_PRIVATE);
settings.edit().clear().commit();
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.activity_wifi, container, false);
// final TextView textView = root.findViewById(R.id.text);
final ListView listView = root.findViewById(R.id.list);
final TextView text2 = root.findViewById(R.id.text2);
final Button save = root.findViewById(R.id.button);
pageViewModel.getText().observe(this, new Observer<String>() {
@Override
public void onChanged(@Nullable String s) {
text2.setText("Choose SSID's to save so as profiles trigger when device connects to these WAPs!");
adapter=new recyclerAdapter(getActivity(),provider,bss);
listView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
});

save.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
HashMap<String, Pair<String,Boolean>> map = new HashMap<String, Pair<String,Boolean>>();
for(int i=0;i<listView.getCount();i++)
{
View vi = listView.getAdapter().getView(i,null,null);
TextView name = vi.findViewById(R.id.wifiname);
TextView bssid = vi.findViewById(R.id.bssid);
CheckBox check = vi.findViewById(R.id.checkBox);
if(check.isChecked())
{
Log.e("d"+i,name.getText().toString());
map.put(bssid.getText().toString(),Pair.create(name.getText().toString(),true));
}
}
Gson gson = new Gson();
String hashMapString = gson.toJson(map);
SharedPreferences prefs = getActivity().getSharedPreferences("wifi_saved", Context.MODE_PRIVATE);
prefs.edit().putString("bssids", hashMapString).apply();

SharedPreferences prefs1 = getActivity().getSharedPreferences("wifi_saved", Context.MODE_PRIVATE);
String storedHashMapString = prefs1.getString("bssids", "oopsDintWork");
Log.e("abcdc1",storedHashMapString);
}
});
return root;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
package com.android.splitpersonality.WiFi;

import android.content.Context;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;

import com.android.splitpersonality.R;

//import com.example.viewpager.R;
public class mainAdapter extends FragmentPagerAdapter {
@StringRes
private static final int[] TAB_TITLES =
new int[] { R.string.tab_text_1, R.string.tab_text_2 };
private final Context mContext;
public mainAdapter(Context context, FragmentManager fm) {
super(fm);
mContext = context;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return all_wifi.newInstance();
case 1:
return saved_wifi.newInstance();
default:
return null;
}
}
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return mContext.getResources().getString(TAB_TITLES[position]);
}
@Override
public int getCount() {
// Show 2 total pages.
return 2;
}
}
Loading