Reuse AppSecurityPermissions in AppDetails
This commit is contained in:
parent
f5db19eba8
commit
c88afd0995
@ -90,8 +90,9 @@ import org.fdroid.fdroid.installer.InstallerFactory;
|
||||
import org.fdroid.fdroid.installer.InstallerService;
|
||||
import org.fdroid.fdroid.net.Downloader;
|
||||
import org.fdroid.fdroid.net.DownloaderService;
|
||||
import org.fdroid.fdroid.privileged.views.AppDiff;
|
||||
import org.fdroid.fdroid.privileged.views.AppSecurityPermissions;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class AppDetails extends AppCompatActivity {
|
||||
@ -1062,7 +1063,7 @@ public class AppDetails extends AppCompatActivity {
|
||||
private final View.OnClickListener expanderPermissions = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
final TextView permissionListView = (TextView) llViewMorePermissions.findViewById(R.id.permissions_list);
|
||||
final View permissionListView = llViewMorePermissions.findViewById(R.id.permission_list);
|
||||
final TextView permissionHeader = (TextView) llViewMorePermissions.findViewById(R.id.permissions);
|
||||
|
||||
if (permissionListView.getVisibility() == View.GONE) {
|
||||
@ -1372,29 +1373,11 @@ public class AppDetails extends AppCompatActivity {
|
||||
}
|
||||
|
||||
private void buildPermissionInfo() {
|
||||
final TextView permissionListView = (TextView) llViewMorePermissions.findViewById(R.id.permissions_list);
|
||||
AppDiff appDiff = new AppDiff(appDetails.getPackageManager(), appDetails.getApks().getItem(0));
|
||||
AppSecurityPermissions perms = new AppSecurityPermissions(appDetails, appDiff.pkgInfo);
|
||||
|
||||
ArrayList<String> permsList = appDetails.getApks().getItem(0).getFullPermissionList();
|
||||
if (permsList == null) {
|
||||
permissionListView.setText(R.string.no_permissions);
|
||||
} else {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (String permissionName : permsList) {
|
||||
try {
|
||||
final Permission permission = new Permission(getActivity(), permissionName);
|
||||
// TODO: Make this list RTL friendly
|
||||
sb.append("\t• ").append(permission.getName()).append('\n');
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.e(TAG, "Permission not yet available: " + permissionName);
|
||||
}
|
||||
}
|
||||
if (sb.length() > 0) {
|
||||
sb.setLength(sb.length() - 1);
|
||||
permissionListView.setText(sb.toString());
|
||||
} else {
|
||||
permissionListView.setText(R.string.no_permissions);
|
||||
}
|
||||
}
|
||||
final ViewGroup permList = (ViewGroup) llViewMorePermissions.findViewById(R.id.permission_list);
|
||||
permList.addView(perms.getPermissionsView(AppSecurityPermissions.WHICH_ALL));
|
||||
}
|
||||
|
||||
private String descAntiFeature(String af) {
|
||||
|
@ -1,24 +0,0 @@
|
||||
package org.fdroid.fdroid;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.content.pm.PermissionInfo;
|
||||
|
||||
public class Permission {
|
||||
|
||||
private final PackageManager packageManager;
|
||||
private final PermissionInfo permissionInfo;
|
||||
|
||||
Permission(Context context, String permission)
|
||||
throws PackageManager.NameNotFoundException {
|
||||
this.packageManager = context.getPackageManager();
|
||||
this.permissionInfo = this.packageManager.getPermissionInfo(
|
||||
permission, PackageManager.GET_META_DATA);
|
||||
}
|
||||
|
||||
public CharSequence getName() {
|
||||
String label = this.permissionInfo.loadLabel(this.packageManager).toString();
|
||||
return Character.toUpperCase(label.charAt(0)) + label.substring(1);
|
||||
}
|
||||
|
||||
}
|
@ -225,28 +225,17 @@ Changelog" />
|
||||
android:drawableRight="@drawable/ic_expand_more_grey600"
|
||||
android:drawableEnd="@drawable/ic_expand_more_grey600" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/permissions_list"
|
||||
<LinearLayout
|
||||
android:id="@+id/permission_list"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="false"
|
||||
android:orientation="vertical"
|
||||
android:fontFamily="sans-serif-light"
|
||||
android:textSize="14sp"
|
||||
android:visibility="gone"
|
||||
android:layout_marginLeft="@dimen/layout_horizontal_margin"
|
||||
android:layout_marginStart="@dimen/layout_horizontal_margin"
|
||||
tools:text=" * Full network access
|
||||
* View network connections
|
||||
* View Wi-Fi connections
|
||||
* Connect and disconnect from Wi-Fi
|
||||
* Pair with Bluetooth devices
|
||||
* Run at startup
|
||||
* Modify or delete the contents of your USB storage
|
||||
* Control Near Field Communication
|
||||
* Directly install apps
|
||||
* Delete apps
|
||||
* Full permission to all device features and storage
|
||||
* Test access to protected storage" />
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingRight="4dp"
|
||||
tools:ignore="RtlSymmetry" />
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user