mirror of
https://github.com/emanuele-f/PCAPdroid.git
synced 2026-06-19 21:05:25 +08:00
Improve navigation drawer
This commit is contained in:
parent
30fdea4d31
commit
5df007ec38
@ -27,15 +27,15 @@
|
||||
</activity>
|
||||
|
||||
<activity
|
||||
android:name=".activities.MonitoringActivity"
|
||||
android:label="@string/monitoring"
|
||||
android:name=".activities.InspectorActivity"
|
||||
android:label="@string/inspector"
|
||||
android:launchMode="singleTop"
|
||||
android:parentActivityName=".activities.MainActivity" />
|
||||
<activity
|
||||
android:name=".activities.ConnectionDetailsActivity"
|
||||
android:label="@string/connection_details"
|
||||
android:launchMode="singleTop"
|
||||
android:parentActivityName=".activities.MonitoringActivity"/>
|
||||
android:parentActivityName=".activities.InspectorActivity"/>
|
||||
<activity
|
||||
android:name=".activities.StatsActivity"
|
||||
android:label="@string/stats"
|
||||
|
||||
@ -13,12 +13,11 @@ import androidx.viewpager2.widget.ViewPager2;
|
||||
import com.emanuelef.remote_capture.R;
|
||||
import com.emanuelef.remote_capture.fragments.AppsFragment;
|
||||
import com.emanuelef.remote_capture.fragments.ConnectionsFragment;
|
||||
import com.emanuelef.remote_capture.model.AppDescriptor;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.google.android.material.tabs.TabLayoutMediator;
|
||||
|
||||
public class MonitoringActivity extends AppCompatActivity {
|
||||
private static final String TAG = "MonitoringActivity";
|
||||
public class InspectorActivity extends AppCompatActivity {
|
||||
private static final String TAG = "InspectorActivity";
|
||||
private ViewPager2 mPager;
|
||||
private TabLayout mTabLayout;
|
||||
|
||||
@ -30,10 +29,10 @@ public class MonitoringActivity extends AppCompatActivity {
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
setContentView(R.layout.monitoring_activity);
|
||||
setContentView(R.layout.inspector_activity);
|
||||
|
||||
mTabLayout = findViewById(R.id.monitoring_tablayout);
|
||||
mPager = findViewById(R.id.monitoring_pager);
|
||||
mTabLayout = findViewById(R.id.inspector_tablayout);
|
||||
mPager = findViewById(R.id.inspector_pager);
|
||||
|
||||
setupTabs();
|
||||
}
|
||||
@ -162,13 +162,15 @@ public class MainActivity extends AppCompatActivity implements AppsLoadListener,
|
||||
try {
|
||||
PackageInfo pInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
|
||||
String version = pInfo.versionName;
|
||||
String name = pInfo.applicationInfo.loadLabel(getPackageManager()).toString();
|
||||
|
||||
TextView appName = header.findViewById(R.id.app_name);
|
||||
appName.setText(name);
|
||||
|
||||
boolean isRelease = version.contains(".");
|
||||
final String verStr = isRelease ? ("v" + version) : version;
|
||||
TextView appVer = header.findViewById(R.id.app_version);
|
||||
appVer.setText("v" + version);
|
||||
|
||||
appVer.setText(verStr);
|
||||
appVer.setOnClickListener((ev) -> {
|
||||
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(GITHUB_PROJECT_URL + "/tree/" + verStr));
|
||||
startActivity(browserIntent);
|
||||
});
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.e(TAG, "Could not retrieve package version");
|
||||
}
|
||||
@ -224,9 +226,12 @@ public class MainActivity extends AppCompatActivity implements AppsLoadListener,
|
||||
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
|
||||
int id = item.getItemId();
|
||||
|
||||
if(id == R.id.item_monitoring) {
|
||||
Intent intent = new Intent(MainActivity.this, MonitoringActivity.class);
|
||||
startActivity(intent);
|
||||
if(id == R.id.item_inspector) {
|
||||
if(CaptureService.getConnsRegister() != null) {
|
||||
Intent intent = new Intent(MainActivity.this, InspectorActivity.class);
|
||||
startActivity(intent);
|
||||
} else
|
||||
Utils.showToast(this, R.string.capture_not_started);
|
||||
} else if (id == R.id.action_open_github) {
|
||||
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(GITHUB_PROJECT_URL));
|
||||
startActivity(browserIntent);
|
||||
@ -272,7 +277,7 @@ public class MainActivity extends AppCompatActivity implements AppsLoadListener,
|
||||
mMenuItemStartBtn.setTitle(R.string.start_button);
|
||||
mMenuItemStartBtn.setEnabled(true);
|
||||
mMenuItemAppSel.setEnabled(true);
|
||||
mMenuSettings.setVisible(true);
|
||||
mMenuSettings.setEnabled(true);
|
||||
}
|
||||
|
||||
public void appStateStarting() {
|
||||
@ -280,7 +285,8 @@ public class MainActivity extends AppCompatActivity implements AppsLoadListener,
|
||||
notifyAppState();
|
||||
|
||||
mMenuItemStartBtn.setEnabled(false);
|
||||
mMenuSettings.setVisible(false);
|
||||
mMenuSettings.setEnabled(false);
|
||||
mMenuItemAppSel.setEnabled(false);
|
||||
}
|
||||
|
||||
public void appStateRunning() {
|
||||
@ -291,7 +297,7 @@ public class MainActivity extends AppCompatActivity implements AppsLoadListener,
|
||||
ContextCompat.getDrawable(this, R.drawable.ic_media_stop));
|
||||
mMenuItemStartBtn.setTitle(R.string.stop_button);
|
||||
mMenuItemStartBtn.setEnabled(true);
|
||||
mMenuSettings.setVisible(false);
|
||||
mMenuSettings.setEnabled(false);
|
||||
mMenuItemAppSel.setEnabled(false);
|
||||
}
|
||||
|
||||
@ -300,7 +306,6 @@ public class MainActivity extends AppCompatActivity implements AppsLoadListener,
|
||||
notifyAppState();
|
||||
|
||||
mMenuItemStartBtn.setEnabled(false);
|
||||
mMenuItemAppSel.setEnabled(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -7,6 +7,7 @@ import android.content.IntentFilter;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
@ -23,7 +24,7 @@ import com.emanuelef.remote_capture.AppsLoader;
|
||||
import com.emanuelef.remote_capture.CaptureService;
|
||||
import com.emanuelef.remote_capture.ConnectionsRegister;
|
||||
import com.emanuelef.remote_capture.R;
|
||||
import com.emanuelef.remote_capture.activities.MonitoringActivity;
|
||||
import com.emanuelef.remote_capture.activities.InspectorActivity;
|
||||
import com.emanuelef.remote_capture.adapters.AppsStatsAdapter;
|
||||
import com.emanuelef.remote_capture.interfaces.AppsLoadListener;
|
||||
import com.emanuelef.remote_capture.interfaces.ConnectionsListener;
|
||||
@ -40,7 +41,7 @@ public class AppsFragment extends Fragment implements ConnectionsListener, AppsL
|
||||
private Handler mHandler;
|
||||
private boolean mRefreshApps;
|
||||
private boolean listenerSet;
|
||||
private MonitoringActivity mActivity;
|
||||
private InspectorActivity mActivity;
|
||||
private Map<Integer, AppDescriptor> mApps;
|
||||
|
||||
@Override
|
||||
@ -53,7 +54,7 @@ public class AppsFragment extends Fragment implements ConnectionsListener, AppsL
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater,
|
||||
ViewGroup container, Bundle savedInstanceState) {
|
||||
mActivity = (MonitoringActivity) getActivity();
|
||||
mActivity = (InspectorActivity) getActivity();
|
||||
return inflater.inflate(R.layout.apps_stats, container, false);
|
||||
}
|
||||
|
||||
|
||||
@ -335,7 +335,7 @@ public class ConnectionsFragment extends Fragment implements ConnectionsListener
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater menuInflater) {
|
||||
menuInflater.inflate(R.menu.monitoring_menu, menu);
|
||||
menuInflater.inflate(R.menu.connections_menu, menu);
|
||||
|
||||
mMenuItemAppSel = menu.findItem(R.id.action_show_app_filter);
|
||||
mFilterIcon = mMenuItemAppSel.getIcon();
|
||||
|
||||
BIN
app/src/main/res/drawable/drawer_background.png
Normal file
BIN
app/src/main/res/drawable/drawer_background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
File diff suppressed because one or more lines are too long
@ -5,12 +5,12 @@
|
||||
android:orientation="vertical">
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/monitoring_tablayout"
|
||||
android:id="@+id/inspector_tablayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<androidx.viewpager2.widget.ViewPager2
|
||||
android:id="@+id/monitoring_pager"
|
||||
android:id="@+id/inspector_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
@ -8,8 +8,8 @@
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="170dp"
|
||||
android:src="@mipmap/drawer_background"
|
||||
android:layout_height="@dimen/drawer_header_height"
|
||||
android:src="@drawable/drawer_background"
|
||||
android:scaleType="centerCrop"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:layout_marginStart="8dp"
|
||||
android:text="PCAPdroid"
|
||||
android:text="@string/app_name"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@android:color/primary_text_dark"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
||||
@ -2,8 +2,8 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<group android:id="@+id/group_app">
|
||||
<item
|
||||
android:id="@+id/item_monitoring"
|
||||
android:title="@string/monitoring"
|
||||
android:id="@+id/item_inspector"
|
||||
android:title="@string/inspector"
|
||||
android:icon="@drawable/ic_search" />
|
||||
<item
|
||||
android:id="@+id/action_stats"
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 101 KiB |
4
app/src/main/res/values-sw600dp/dimens.xml
Normal file
4
app/src/main/res/values-sw600dp/dimens.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="drawer_header_height">225dp</dimen>
|
||||
</resources>
|
||||
4
app/src/main/res/values/dimens.xml
Normal file
4
app/src/main/res/values/dimens.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="drawer_header_height">170dp</dimen>
|
||||
</resources>
|
||||
@ -88,6 +88,6 @@
|
||||
<string name="set_app_filter">Set the app filter</string>
|
||||
<string name="navigation_drawer_open">Drawer Open</string>
|
||||
<string name="navigation_drawer_close">Drawer Close</string>
|
||||
<string name="monitoring">Monitoring</string>
|
||||
<string name="inspector">Inspector</string>
|
||||
</resources>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user