Improve navigation drawer

This commit is contained in:
emanuele-f 2021-02-28 10:47:03 +01:00
parent 30fdea4d31
commit 5df007ec38
15 changed files with 49 additions and 36 deletions

View File

@ -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"

View File

@ -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();
}

View File

@ -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

View File

@ -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);
}

View File

@ -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();

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

File diff suppressed because one or more lines are too long

View File

@ -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" />

View File

@ -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"

View File

@ -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

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="drawer_header_height">225dp</dimen>
</resources>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="drawer_header_height">170dp</dimen>
</resources>

View File

@ -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>