Skip to content

Commit

Permalink
More work on fragments-- make settings work
Browse files Browse the repository at this point in the history
  • Loading branch information
fat-tire committed Nov 11, 2015
1 parent 1594224 commit 7d26892
Show file tree
Hide file tree
Showing 6 changed files with 89 additions and 76 deletions.
76 changes: 62 additions & 14 deletions cSploit/src/main/java/org/csploit/android/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
Expand All @@ -49,6 +51,7 @@ public class MainActivity extends AppCompatActivity {
MainFragment mMainFragment;
ActionBarDrawerToggle mDrawerToggle;
DrawerLayout mDrawerLayout;
private Menu mMenu = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand Down Expand Up @@ -79,30 +82,69 @@ protected void onCreate(Bundle savedInstanceState) {
mDrawerToggle = new ActionBarDrawerToggle(this,
mDrawerLayout, R.string.drawer_was_opened, R.string.drawer_was_closed);
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerToggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeButtonEnabled(true);

mMainFragment = new MainFragment();
getSupportFragmentManager().beginTransaction()
.add(R.id.mainframe, mMainFragment).commit();
.add(R.id.mainframe, mMainFragment, "MainFragment")
.setCustomAnimations(R.anim.fadein, R.anim.fadeout, R.anim.fadein, R.anim.fadeout)
.commit();
}
}

public boolean onOptionsItemSelected(MenuItem item) {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.top, menu);
mMenu = menu;
return true;
}


public void launchSettings() {
getSupportFragmentManager().beginTransaction()
.add(R.id.mainframe, new SettingsFragment.PrefsFrag())
.addToBackStack(null)
.setCustomAnimations(R.anim.fadein, R.anim.fadeout, R.anim.fadein, R.anim.fadeout)
.commit();
}


@Override
public boolean onOptionsItemSelected(final MenuItem item) {

if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
return true;
}

public void onBackPressed() {
mMainFragment.onBackPressed();
switch (item.getItemId()) {

case R.id.settings:
launchSettings();
return true;

case R.id.about:
launchAbout();
return true;

case R.id.submit_issue:
submitIssue();
return true;

default:
return false;
}
}

public void launchSettings() {
startActivity(new Intent(this, SettingsActivity.class));
overridePendingTransition(R.anim.fadeout, R.anim.fadein);
public void submitIssue() {
String uri = getString(R.string.github_new_issue_url);
Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(browser);

// for fat-tire:
// String.format(getString(R.string.issue_message), getString(R.string.github_issues_url), getString(R.string.github_new_issue_url));

}

public void launchAbout() {
Expand Down Expand Up @@ -144,9 +186,7 @@ public void onItemClick(AdapterView parent, View view, int position, long id) {
launchSettings();
break;
case 2:
String uri = getString(R.string.github_new_issue_url);
Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(browser);
submitIssue();
break;
}
}
Expand Down Expand Up @@ -182,5 +222,13 @@ public View getView(int position, View convertView, ViewGroup parent) {
}
}


@Override
public void onBackPressed() {
// Only ask for the double-backpressed when MainFragment is all that's left.
if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
mMainFragment.onBackPressed();
} else {
super.onBackPressed();
}
}
}
21 changes: 0 additions & 21 deletions cSploit/src/main/java/org/csploit/android/MainFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
Expand Down Expand Up @@ -57,7 +56,6 @@
import org.csploit.android.core.Plugin;
import org.csploit.android.core.System;
import org.csploit.android.events.Event;
import org.csploit.android.gui.dialogs.AboutDialog;
import org.csploit.android.gui.dialogs.ChoiceDialog;
import org.csploit.android.gui.dialogs.ConfirmDialog;
import org.csploit.android.gui.dialogs.ConfirmDialog.ConfirmDialogListener;
Expand Down Expand Up @@ -323,8 +321,6 @@ public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

mMenu = menu;
configureMenu();
super.onCreateOptionsMenu(menu, inflater);
getActivity().onCreateOptionsMenu(menu);
}

private boolean isConnectivityAvailable() {
Expand Down Expand Up @@ -812,11 +808,6 @@ public void onItemSelected(int index) {
.show();
return true;

case R.id.settings:
startActivity(new Intent(getActivity(), SettingsActivity.class));
getActivity().overridePendingTransition(R.anim.fadeout, R.anim.fadein);
return true;

case R.id.ss_monitor:
new Thread(new Runnable() {
@Override
Expand All @@ -835,18 +826,6 @@ public void run() {
}).start();
return true;

case R.id.submit_issue:
String uri = getString(R.string.github_new_issue_url);
Intent browser = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
startActivity(browser);
// for fat-tire:
// String.format(getString(R.string.issue_message), getString(R.string.github_issues_url), getString(R.string.github_new_issue_url));
return true;

case R.id.about:
new AboutDialog(getActivity()).show();
return true;

default:
return super.onOptionsItemSelected(item);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,4 @@ protected void onCreate(Bundle savedInstanceState) {
}
}

public void onBackPressed() {
f.onBackPressed();
}
}
20 changes: 2 additions & 18 deletions cSploit/src/main/java/org/csploit/android/SettingsFragment.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceFragmentCompat;
import android.support.v7.preference.TwoStatePreference;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;

Expand Down Expand Up @@ -71,7 +70,8 @@ public void onCreate(Bundle savedInstanceState) {
getActivity().setTheme(R.style.PrefsTheme);
super.onCreate(savedInstanceState);
getActivity().getSupportFragmentManager().beginTransaction()
.replace(android.R.id.content, new PrefsFrag())
.add(R.id.mainframe, new PrefsFrag())
.addToBackStack(null)
.commit();
}

Expand Down Expand Up @@ -575,18 +575,6 @@ private void onMsfBranchesAvailable() {
}
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
getActivity().onBackPressed();
return true;

default:
return super.onOptionsItemSelected(item);
}
}

@Override
public void onDestroy() {
if (mReceiver != null) {
Expand All @@ -597,8 +585,4 @@ public void onDestroy() {
}
}

public void onBackPressed() {
getActivity().finish();
getActivity().overridePendingTransition(R.anim.fadeout, R.anim.fadein);
}
}
30 changes: 10 additions & 20 deletions cSploit/src/main/res/menu/main.xml
Original file line number Diff line number Diff line change
@@ -1,29 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:csploit="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:csploit="http://schemas.android.com/apk/res-auto">

<item
android:id="@+id/add"
android:icon="@drawable/target_add"
csploit:showAsAction="ifRoom"
android:title="@string/menu_add" />
android:title="@string/menu_add"
csploit:showAsAction="ifRoom" />
<item
android:id="@+id/scan"
android:icon="@drawable/ic_refresh"
csploit:showAsAction="ifRoom"
android:title="@string/menu_scan" />
android:title="@string/menu_scan"
csploit:showAsAction="ifRoom" />
<item
android:id="@+id/wifi_scan"
android:icon="@drawable/ic_wifi_signal_4"
csploit:showAsAction="ifRoom"
android:title="@string/menu_wifi_scan" />
android:title="@string/menu_wifi_scan"
csploit:showAsAction="ifRoom" />

<item
android:id="@+id/wifi_ifaces"
android:icon="@drawable/ic_refresh"
csploit:showAsAction="ifRoom"
android:title="@string/menu_ifaces" />
android:title="@string/menu_ifaces"
csploit:showAsAction="ifRoom" />

<group android:id="@+id/session_group">
<item
Expand All @@ -35,9 +34,6 @@
<item
android:id="@+id/restore_session"
android:title="@string/menu_restore_session" />
<item
android:id="@+id/settings"
android:title="@string/menu_settings" />
</group>
<group android:id="@+id/misc_group">
<item
Expand All @@ -46,12 +42,6 @@
<item
android:id="@+id/ss_msfrpcd"
android:title="@string/menu_stop_msfrpcd" />
<item
android:id="@+id/submit_issue"
android:title="@string/menu_submit_issue" />
<item
android:id="@+id/about"
android:title="@string/menu_about" />
</group>

</menu>
15 changes: 15 additions & 0 deletions cSploit/src/main/res/menu/top.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
android:orderInCategory="20">>
<item
android:id="@+id/settings"
android:title="@string/menu_settings" />
<item
android:id="@+id/submit_issue"
android:title="@string/menu_submit_issue" />
<item
android:id="@+id/about"
android:title="@string/menu_about" />
</group>
</menu>

0 comments on commit 7d26892

Please sign in to comment.