diff options
Diffstat (limited to 'app/src/fil/libre/repwifiapp/activities/NetworkDetailsActivity.java')
-rw-r--r-- | app/src/fil/libre/repwifiapp/activities/NetworkDetailsActivity.java | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/app/src/fil/libre/repwifiapp/activities/NetworkDetailsActivity.java b/app/src/fil/libre/repwifiapp/activities/NetworkDetailsActivity.java new file mode 100644 index 0000000..e43eee2 --- /dev/null +++ b/app/src/fil/libre/repwifiapp/activities/NetworkDetailsActivity.java @@ -0,0 +1,145 @@ +// +// Copyright 2017 Filippo "Fil" Bergamo <fil.bergamo@riseup.net> +// +// This file is part of RepWifiApp. +// +// RepWifiApp is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// RepWifiApp is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with RepWifiApp. If not, see <http://www.gnu.org/licenses/>. +// +// ******************************************************************** + +package fil.libre.repwifiapp.activities; + +import java.util.Date; + + +import fil.libre.repwifiapp.Commons; +import fil.libre.repwifiapp.R; +import fil.libre.repwifiapp.helpers.AccessPointInfo; + +import android.os.Bundle; +import android.app.Activity; +import android.app.AlertDialog; +import android.content.DialogInterface; +import android.content.Intent; +import android.text.format.DateFormat; +import android.view.Menu; +import android.view.View; +import android.widget.CheckBox; +import android.widget.CompoundButton; +import android.widget.TextView; +import android.widget.CompoundButton.OnCheckedChangeListener; + +public class NetworkDetailsActivity extends Activity implements OnCheckedChangeListener { + + private AccessPointInfo currentNetwor; + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_network_details); + + CheckBox c = (CheckBox)findViewById(R.id.chk_show_pass_details); + c.setOnCheckedChangeListener(this); + + Intent intent = getIntent(); + if (! intent.hasExtra(Commons.EXTRA_APINFO)){ + this.setResult(RESULT_CANCELED); + this.finish(); + return; + } + + this.currentNetwor = (AccessPointInfo)intent.getExtras().getSerializable(Commons.EXTRA_APINFO); + if (this.currentNetwor == null){ + this.setResult(RESULT_CANCELED); + this.finish(); + return; + } + + loadNetwork(false); + + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + //getMenuInflater().inflate(R.menu.activity_manage_networks, menu); + return true; + } + + private void loadNetwork(boolean showPassword){ + + setTitle(this.currentNetwor.getSSID()); + + TextView v = (TextView)findViewById(R.id.txt_net_details); + v.setText("SSID: " + this.currentNetwor.getSSID()); + v.append("\nBSSID: " + this.currentNetwor.getBSSID()); + + long lastused = this.currentNetwor.getLastTimeUsed(); + if (lastused > 0){ + Date ts = new Date(lastused); + String formstring = "dd-MMM-yyyy kk:mm:ss"; + v.append("\nLast Used: " + DateFormat.format(formstring, ts)); + } + + if (showPassword){ + v.append("\n\nPassword:\n" + this.currentNetwor.getPassword()); + }else{ + v.append("\n\n\n"); + } + + } + + public void btnDeleteClick(View v){ + + + AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this); + dlgAlert.setMessage("Are you sure you want to delete this network?"); + dlgAlert.setPositiveButton("Yes",new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + returnResult(true); + } + }); + dlgAlert.setNegativeButton("NO",new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + //nothing + } + }); + + dlgAlert.setCancelable(true); + dlgAlert.create().show(); + + } + + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + + if (buttonView == findViewById(R.id.chk_show_pass_details)){ + loadNetwork(isChecked); + } + + } + + private void returnResult(boolean delete){ + + Intent i = new Intent(); + i.putExtra(Commons.EXTRA_DELETE, delete); + i.putExtra(Commons.EXTRA_APINFO, this.currentNetwor); + this.setResult(RESULT_OK,i); + finish(); + + } + + + +} |