rename AppDetails2 to AppDetailsActivity
This also moves it into org.fdroid.fdroid.views
This commit is contained in:
parent
9cddc0c990
commit
148d1cdc8a
@ -173,7 +173,7 @@
|
|||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".AppDetails2"
|
android:name=".views.AppDetailsActivity"
|
||||||
android:label="@string/app_details"
|
android:label="@string/app_details"
|
||||||
android:exported="true"
|
android:exported="true"
|
||||||
android:parentActivityName=".views.main.MainActivity"
|
android:parentActivityName=".views.main.MainActivity"
|
||||||
|
@ -19,6 +19,7 @@ import org.fdroid.fdroid.data.AppProvider;
|
|||||||
import org.fdroid.fdroid.data.Repo;
|
import org.fdroid.fdroid.data.Repo;
|
||||||
import org.fdroid.fdroid.installer.ErrorDialogActivity;
|
import org.fdroid.fdroid.installer.ErrorDialogActivity;
|
||||||
import org.fdroid.fdroid.installer.InstallManagerService;
|
import org.fdroid.fdroid.installer.InstallManagerService;
|
||||||
|
import org.fdroid.fdroid.views.AppDetailsActivity;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@ -532,16 +533,16 @@ public final class AppUpdateStatusManager {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a {@link PendingIntent} for a {@link Notification} to send when it
|
* Get a {@link PendingIntent} for a {@link Notification} to send when it
|
||||||
* is clicked. {@link AppDetails2} handles {@code Intent}s that are missing
|
* is clicked. {@link AppDetailsActivity} handles {@code Intent}s that are missing
|
||||||
* or bad {@link AppDetails2#EXTRA_APPID}, so it does not need to be checked
|
* or bad {@link AppDetailsActivity#EXTRA_APPID}, so it does not need to be checked
|
||||||
* here.
|
* here.
|
||||||
*/
|
*/
|
||||||
private PendingIntent getAppDetailsIntent(Apk apk) {
|
private PendingIntent getAppDetailsIntent(Apk apk) {
|
||||||
Intent notifyIntent = new Intent(context, AppDetails2.class)
|
Intent notifyIntent = new Intent(context, AppDetailsActivity.class)
|
||||||
.putExtra(AppDetails2.EXTRA_APPID, apk.packageName);
|
.putExtra(AppDetailsActivity.EXTRA_APPID, apk.packageName);
|
||||||
|
|
||||||
return TaskStackBuilder.create(context)
|
return TaskStackBuilder.create(context)
|
||||||
.addParentStack(AppDetails2.class)
|
.addParentStack(AppDetailsActivity.class)
|
||||||
.addNextIntent(notifyIntent)
|
.addNextIntent(notifyIntent)
|
||||||
.getPendingIntent(apk.packageName.hashCode(), PendingIntent.FLAG_UPDATE_CURRENT);
|
.getPendingIntent(apk.packageName.hashCode(), PendingIntent.FLAG_UPDATE_CURRENT);
|
||||||
}
|
}
|
||||||
|
@ -27,8 +27,6 @@ import android.app.Activity;
|
|||||||
import android.app.ActivityManager;
|
import android.app.ActivityManager;
|
||||||
import android.app.ActivityManager.RunningAppProcessInfo;
|
import android.app.ActivityManager.RunningAppProcessInfo;
|
||||||
import android.app.Application;
|
import android.app.Application;
|
||||||
import android.bluetooth.BluetoothAdapter;
|
|
||||||
import android.bluetooth.BluetoothManager;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
@ -132,9 +130,6 @@ public class FDroidApp extends Application {
|
|||||||
// Leaving the fully qualified class name here to help clarify the difference between spongy/bouncy castle.
|
// Leaving the fully qualified class name here to help clarify the difference between spongy/bouncy castle.
|
||||||
private static final org.bouncycastle.jce.provider.BouncyCastleProvider BOUNCYCASTLE_PROVIDER;
|
private static final org.bouncycastle.jce.provider.BouncyCastleProvider BOUNCYCASTLE_PROVIDER;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
|
||||||
BluetoothAdapter bluetoothAdapter;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The construction of this notification helper has side effects including listening and
|
* The construction of this notification helper has side effects including listening and
|
||||||
* responding to local broadcasts. It is kept as a reference on the app object here so that
|
* responding to local broadcasts. It is kept as a reference on the app object here so that
|
||||||
@ -393,7 +388,6 @@ public class FDroidApp extends Application {
|
|||||||
CleanCacheService.schedule(this);
|
CleanCacheService.schedule(this);
|
||||||
|
|
||||||
notificationHelper = new NotificationHelper(getApplicationContext());
|
notificationHelper = new NotificationHelper(getApplicationContext());
|
||||||
bluetoothAdapter = getBluetoothAdapter();
|
|
||||||
|
|
||||||
// There are a couple things to pay attention to with this config: memory usage,
|
// There are a couple things to pay attention to with this config: memory usage,
|
||||||
// especially on small devices; and, image processing vulns, since images are
|
// especially on small devices; and, image processing vulns, since images are
|
||||||
@ -559,16 +553,6 @@ public class FDroidApp extends Application {
|
|||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
@TargetApi(18)
|
|
||||||
private BluetoothAdapter getBluetoothAdapter() {
|
|
||||||
// to use the new, recommended way of getting the adapter
|
|
||||||
// http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html
|
|
||||||
if (Build.VERSION.SDK_INT < 18) {
|
|
||||||
return BluetoothAdapter.getDefaultAdapter();
|
|
||||||
}
|
|
||||||
return ((BluetoothManager) getSystemService(BLUETOOTH_SERVICE)).getAdapter();
|
|
||||||
}
|
|
||||||
|
|
||||||
private SharedPreferences getAtStartTimeSharedPreferences() {
|
private SharedPreferences getAtStartTimeSharedPreferences() {
|
||||||
return getSharedPreferences("at-start-time", Context.MODE_PRIVATE);
|
return getSharedPreferences("at-start-time", Context.MODE_PRIVATE);
|
||||||
}
|
}
|
||||||
|
@ -53,7 +53,7 @@ public class NfcHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@TargetApi(16)
|
@TargetApi(16)
|
||||||
static void disableAndroidBeam(Activity activity) {
|
public static void disableAndroidBeam(Activity activity) {
|
||||||
if (Build.VERSION.SDK_INT < 16) {
|
if (Build.VERSION.SDK_INT < 16) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,7 @@ import com.nostra13.universalimageloader.core.assist.ImageSize;
|
|||||||
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
||||||
import com.nostra13.universalimageloader.utils.DiskCacheUtils;
|
import com.nostra13.universalimageloader.utils.DiskCacheUtils;
|
||||||
import org.fdroid.fdroid.data.App;
|
import org.fdroid.fdroid.data.App;
|
||||||
|
import org.fdroid.fdroid.views.AppDetailsActivity;
|
||||||
import org.fdroid.fdroid.views.main.MainActivity;
|
import org.fdroid.fdroid.views.main.MainActivity;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -154,7 +155,7 @@ class NotificationHelper {
|
|||||||
} else if ((entry.status == AppUpdateStatusManager.Status.Downloading ||
|
} else if ((entry.status == AppUpdateStatusManager.Status.Downloading ||
|
||||||
entry.status == AppUpdateStatusManager.Status.ReadyToInstall ||
|
entry.status == AppUpdateStatusManager.Status.ReadyToInstall ||
|
||||||
entry.status == AppUpdateStatusManager.Status.InstallError) &&
|
entry.status == AppUpdateStatusManager.Status.InstallError) &&
|
||||||
AppDetails2.isAppVisible(entry.app.packageName)) {
|
AppDetailsActivity.isAppVisible(entry.app.packageName)) {
|
||||||
// Ignore downloading, readyToInstall and installError if we are showing the details screen for this app
|
// Ignore downloading, readyToInstall and installError if we are showing the details screen for this app
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ import android.support.annotation.NonNull;
|
|||||||
import android.support.v4.app.JobIntentService;
|
import android.support.v4.app.JobIntentService;
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.apache.commons.io.filefilter.WildcardFileFilter;
|
import org.apache.commons.io.filefilter.WildcardFileFilter;
|
||||||
import org.fdroid.fdroid.AppDetails2;
|
import org.fdroid.fdroid.views.AppDetailsActivity;
|
||||||
import org.fdroid.fdroid.Utils;
|
import org.fdroid.fdroid.Utils;
|
||||||
import org.fdroid.fdroid.data.Apk;
|
import org.fdroid.fdroid.data.Apk;
|
||||||
import org.fdroid.fdroid.data.App;
|
import org.fdroid.fdroid.data.App;
|
||||||
@ -135,7 +135,7 @@ public class InstallerService extends JobIntentService {
|
|||||||
* <p>
|
* <p>
|
||||||
* If you quickly cycle between installing an app and uninstalling it, then
|
* If you quickly cycle between installing an app and uninstalling it, then
|
||||||
* {@link App#installedApk} will still be null when
|
* {@link App#installedApk} will still be null when
|
||||||
* {@link AppDetails2#startUninstall()} calls
|
* {@link AppDetailsActivity#startUninstall()} calls
|
||||||
* this method. It is better to crash earlier here, before the {@link Intent}
|
* this method. It is better to crash earlier here, before the {@link Intent}
|
||||||
* is sent with a null {@link Apk} instance since this service is set to
|
* is sent with a null {@link Apk} instance since this service is set to
|
||||||
* receive Sticky Intents. That means they will automatically be resent
|
* receive Sticky Intents. That means they will automatically be resent
|
||||||
|
@ -434,7 +434,7 @@ public class AppSecurityPermissions {
|
|||||||
|| ((pInfo.protectionLevel & PermissionInfo.PROTECTION_FLAG_PRE23) != 0);
|
|| ((pInfo.protectionLevel & PermissionInfo.PROTECTION_FLAG_PRE23) != 0);
|
||||||
|
|
||||||
// Dangerous and normal permissions are always shown to the user
|
// Dangerous and normal permissions are always shown to the user
|
||||||
// this is matches the permission list in AppDetails2
|
// this is matches the permission list in AppDetailsActivity
|
||||||
if (isNormal || isDangerous) {
|
if (isNormal || isDangerous) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -19,11 +19,13 @@
|
|||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.fdroid.fdroid;
|
package org.fdroid.fdroid.views;
|
||||||
|
|
||||||
|
import android.annotation.TargetApi;
|
||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.bluetooth.BluetoothAdapter;
|
import android.bluetooth.BluetoothAdapter;
|
||||||
|
import android.bluetooth.BluetoothManager;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.DialogInterface;
|
import android.content.DialogInterface;
|
||||||
@ -31,6 +33,7 @@ import android.content.Intent;
|
|||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
import android.database.ContentObserver;
|
import android.database.ContentObserver;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.support.annotation.Nullable;
|
import android.support.annotation.Nullable;
|
||||||
@ -49,6 +52,11 @@ import android.view.ViewTreeObserver;
|
|||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
import com.nostra13.universalimageloader.core.DisplayImageOptions;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
|
import org.fdroid.fdroid.AppUpdateStatusManager;
|
||||||
|
import org.fdroid.fdroid.FDroidApp;
|
||||||
|
import org.fdroid.fdroid.NfcHelper;
|
||||||
|
import org.fdroid.fdroid.R;
|
||||||
|
import org.fdroid.fdroid.Utils;
|
||||||
import org.fdroid.fdroid.data.Apk;
|
import org.fdroid.fdroid.data.Apk;
|
||||||
import org.fdroid.fdroid.data.ApkProvider;
|
import org.fdroid.fdroid.data.ApkProvider;
|
||||||
import org.fdroid.fdroid.data.App;
|
import org.fdroid.fdroid.data.App;
|
||||||
@ -59,23 +67,24 @@ import org.fdroid.fdroid.installer.InstallManagerService;
|
|||||||
import org.fdroid.fdroid.installer.Installer;
|
import org.fdroid.fdroid.installer.Installer;
|
||||||
import org.fdroid.fdroid.installer.InstallerFactory;
|
import org.fdroid.fdroid.installer.InstallerFactory;
|
||||||
import org.fdroid.fdroid.installer.InstallerService;
|
import org.fdroid.fdroid.installer.InstallerService;
|
||||||
import org.fdroid.fdroid.views.AppDetailsRecyclerViewAdapter;
|
|
||||||
import org.fdroid.fdroid.views.ShareChooserDialog;
|
|
||||||
import org.fdroid.fdroid.views.apps.FeatureImage;
|
import org.fdroid.fdroid.views.apps.FeatureImage;
|
||||||
|
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
|
|
||||||
public class AppDetails2 extends AppCompatActivity
|
public class AppDetailsActivity extends AppCompatActivity
|
||||||
implements ShareChooserDialog.ShareChooserDialogListener,
|
implements ShareChooserDialog.ShareChooserDialogListener,
|
||||||
AppDetailsRecyclerViewAdapter.AppDetailsRecyclerViewAdapterCallbacks {
|
AppDetailsRecyclerViewAdapter.AppDetailsRecyclerViewAdapterCallbacks {
|
||||||
|
|
||||||
public static final String EXTRA_APPID = "appid";
|
public static final String EXTRA_APPID = "appid";
|
||||||
private static final String TAG = "AppDetails2";
|
private static final String TAG = "AppDetailsActivity";
|
||||||
|
|
||||||
private static final int REQUEST_ENABLE_BLUETOOTH = 2;
|
private static final int REQUEST_ENABLE_BLUETOOTH = 2;
|
||||||
private static final int REQUEST_PERMISSION_DIALOG = 3;
|
private static final int REQUEST_PERMISSION_DIALOG = 3;
|
||||||
private static final int REQUEST_UNINSTALL_DIALOG = 4;
|
private static final int REQUEST_UNINSTALL_DIALOG = 4;
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
protected BluetoothAdapter bluetoothAdapter;
|
||||||
|
|
||||||
private FDroidApp fdroidApp;
|
private FDroidApp fdroidApp;
|
||||||
private App app;
|
private App app;
|
||||||
private RecyclerView recyclerView;
|
private RecyclerView recyclerView;
|
||||||
@ -111,6 +120,8 @@ public class AppDetails2 extends AppCompatActivity
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bluetoothAdapter = getBluetoothAdapter();
|
||||||
|
|
||||||
localBroadcastManager = LocalBroadcastManager.getInstance(this);
|
localBroadcastManager = LocalBroadcastManager.getInstance(this);
|
||||||
|
|
||||||
recyclerView = (RecyclerView) findViewById(R.id.rvDetails);
|
recyclerView = (RecyclerView) findViewById(R.id.rvDetails);
|
||||||
@ -254,7 +265,7 @@ public class AppDetails2 extends AppCompatActivity
|
|||||||
shareIntent.putExtra(Intent.EXTRA_TEXT, app.name + " (" + app.summary
|
shareIntent.putExtra(Intent.EXTRA_TEXT, app.name + " (" + app.summary
|
||||||
+ ") - https://f-droid.org/app/" + app.packageName);
|
+ ") - https://f-droid.org/app/" + app.packageName);
|
||||||
|
|
||||||
boolean showNearbyItem = app.isInstalled(getApplicationContext()) && fdroidApp.bluetoothAdapter != null;
|
boolean showNearbyItem = app.isInstalled(getApplicationContext()) && bluetoothAdapter != null;
|
||||||
CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.rootCoordinator);
|
CoordinatorLayout coordinatorLayout = (CoordinatorLayout) findViewById(R.id.rootCoordinator);
|
||||||
ShareChooserDialog.createChooser(coordinatorLayout, this, this, shareIntent, showNearbyItem);
|
ShareChooserDialog.createChooser(coordinatorLayout, this, this, shareIntent, showNearbyItem);
|
||||||
return true;
|
return true;
|
||||||
@ -531,7 +542,7 @@ public class AppDetails2 extends AppCompatActivity
|
|||||||
getString(R.string.install_error_notify_title),
|
getString(R.string.install_error_notify_title),
|
||||||
app.name);
|
app.name);
|
||||||
|
|
||||||
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(AppDetails2.this);
|
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(AppDetailsActivity.this);
|
||||||
alertBuilder.setTitle(title);
|
alertBuilder.setTitle(title);
|
||||||
alertBuilder.setMessage(errorMessage);
|
alertBuilder.setMessage(errorMessage);
|
||||||
alertBuilder.setNeutralButton(android.R.string.ok, null);
|
alertBuilder.setNeutralButton(android.R.string.ok, null);
|
||||||
@ -584,7 +595,7 @@ public class AppDetails2 extends AppCompatActivity
|
|||||||
if (!TextUtils.isEmpty(errorMessage)) {
|
if (!TextUtils.isEmpty(errorMessage)) {
|
||||||
Log.e(TAG, "uninstall aborted with errorMessage: " + errorMessage);
|
Log.e(TAG, "uninstall aborted with errorMessage: " + errorMessage);
|
||||||
|
|
||||||
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(AppDetails2.this);
|
AlertDialog.Builder alertBuilder = new AlertDialog.Builder(AppDetailsActivity.this);
|
||||||
Uri uri = intent.getData();
|
Uri uri = intent.getData();
|
||||||
if (uri == null) {
|
if (uri == null) {
|
||||||
alertBuilder.setTitle(getString(R.string.uninstall_error_notify_title, ""));
|
alertBuilder.setTitle(getString(R.string.uninstall_error_notify_title, ""));
|
||||||
@ -656,7 +667,7 @@ public class AppDetails2 extends AppCompatActivity
|
|||||||
public void run() {
|
public void run() {
|
||||||
String packageName = app != null ? app.packageName : null;
|
String packageName = app != null ? app.packageName : null;
|
||||||
if (!resetCurrentApp(packageName)) {
|
if (!resetCurrentApp(packageName)) {
|
||||||
AppDetails2.this.finish();
|
AppDetailsActivity.this.finish();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
AppDetailsRecyclerViewAdapter adapter = (AppDetailsRecyclerViewAdapter) recyclerView.getAdapter();
|
AppDetailsRecyclerViewAdapter adapter = (AppDetailsRecyclerViewAdapter) recyclerView.getAdapter();
|
||||||
@ -684,6 +695,16 @@ public class AppDetails2 extends AppCompatActivity
|
|||||||
NfcHelper.disableAndroidBeam(this);
|
NfcHelper.disableAndroidBeam(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TargetApi(18)
|
||||||
|
private BluetoothAdapter getBluetoothAdapter() {
|
||||||
|
// to use the new, recommended way of getting the adapter
|
||||||
|
// http://developer.android.com/reference/android/bluetooth/BluetoothAdapter.html
|
||||||
|
if (Build.VERSION.SDK_INT < 18) {
|
||||||
|
return BluetoothAdapter.getDefaultAdapter();
|
||||||
|
}
|
||||||
|
return ((BluetoothManager) getSystemService(BLUETOOTH_SERVICE)).getAdapter();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void openUrl(String url) {
|
public void openUrl(String url) {
|
||||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
|
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
|
@ -157,7 +157,7 @@ public class RepoDetailsActivity extends AppCompatActivity {
|
|||||||
LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver,
|
LocalBroadcastManager.getInstance(this).registerReceiver(broadcastReceiver,
|
||||||
new IntentFilter(UpdateService.LOCAL_ACTION_STATUS));
|
new IntentFilter(UpdateService.LOCAL_ACTION_STATUS));
|
||||||
|
|
||||||
// FDroid.java and AppDetails2 set different NFC actions, so reset here
|
// FDroid.java and AppDetailsActivity set different NFC actions, so reset here
|
||||||
setNfc();
|
setNfc();
|
||||||
processIntent(getIntent());
|
processIntent(getIntent());
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ import org.fdroid.fdroid.data.AppProvider;
|
|||||||
* Full screen view of an apps screenshots to swipe through. This will always
|
* Full screen view of an apps screenshots to swipe through. This will always
|
||||||
* download the image, even if the user has said not to use "unmetered" networks,
|
* download the image, even if the user has said not to use "unmetered" networks,
|
||||||
* e.g. WiFi. That is because the user has to click on the thumbnail in
|
* e.g. WiFi. That is because the user has to click on the thumbnail in
|
||||||
* {@link org.fdroid.fdroid.AppDetails2} in order to bring up this activity.
|
* {@link AppDetailsActivity} in order to bring up this activity.
|
||||||
* That makes it a specific request for that image, rather than regular
|
* That makes it a specific request for that image, rather than regular
|
||||||
* background loading.
|
* background loading.
|
||||||
*/
|
*/
|
||||||
|
@ -14,7 +14,7 @@ import org.fdroid.fdroid.Utils;
|
|||||||
import org.fdroid.fdroid.data.App;
|
import org.fdroid.fdroid.data.App;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads and displays the small screenshots that are inline in {@link org.fdroid.fdroid.AppDetails2}
|
* Loads and displays the small screenshots that are inline in {@link AppDetailsActivity}
|
||||||
*/
|
*/
|
||||||
class ScreenShotsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
class ScreenShotsRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||||
private final String[] screenshots;
|
private final String[] screenshots;
|
||||||
|
@ -27,7 +27,7 @@ import android.widget.ImageView;
|
|||||||
import android.widget.ProgressBar;
|
import android.widget.ProgressBar;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
import org.fdroid.fdroid.AppDetails2;
|
import org.fdroid.fdroid.views.AppDetailsActivity;
|
||||||
import org.fdroid.fdroid.AppUpdateStatusManager;
|
import org.fdroid.fdroid.AppUpdateStatusManager;
|
||||||
import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus;
|
import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus;
|
||||||
import org.fdroid.fdroid.R;
|
import org.fdroid.fdroid.R;
|
||||||
@ -422,8 +422,8 @@ public abstract class AppListItemController extends RecyclerView.ViewHolder {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Intent intent = new Intent(activity, AppDetails2.class);
|
Intent intent = new Intent(activity, AppDetailsActivity.class);
|
||||||
intent.putExtra(AppDetails2.EXTRA_APPID, currentApp.packageName);
|
intent.putExtra(AppDetailsActivity.EXTRA_APPID, currentApp.packageName);
|
||||||
if (Build.VERSION.SDK_INT >= 21) {
|
if (Build.VERSION.SDK_INT >= 21) {
|
||||||
String transitionAppIcon = activity.getString(R.string.transition_app_item_icon);
|
String transitionAppIcon = activity.getString(R.string.transition_app_item_icon);
|
||||||
Pair<View, String> iconTransitionPair = Pair.create((View) icon, transitionAppIcon);
|
Pair<View, String> iconTransitionPair = Pair.create((View) icon, transitionAppIcon);
|
||||||
|
@ -21,7 +21,7 @@ import android.widget.TextView;
|
|||||||
import com.nostra13.universalimageloader.core.ImageLoader;
|
import com.nostra13.universalimageloader.core.ImageLoader;
|
||||||
import com.nostra13.universalimageloader.core.assist.FailReason;
|
import com.nostra13.universalimageloader.core.assist.FailReason;
|
||||||
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;
|
||||||
import org.fdroid.fdroid.AppDetails2;
|
import org.fdroid.fdroid.views.AppDetailsActivity;
|
||||||
import org.fdroid.fdroid.R;
|
import org.fdroid.fdroid.R;
|
||||||
import org.fdroid.fdroid.Utils;
|
import org.fdroid.fdroid.Utils;
|
||||||
import org.fdroid.fdroid.data.App;
|
import org.fdroid.fdroid.data.App;
|
||||||
@ -144,7 +144,7 @@ public class AppCardController extends RecyclerView.ViewHolder
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When the user clicks/touches an app card, we launch the {@link AppDetails2} activity in response.
|
* When the user clicks/touches an app card, we launch the {@link AppDetailsActivity} activity in response.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void onClick(View v) {
|
public void onClick(View v) {
|
||||||
@ -152,8 +152,8 @@ public class AppCardController extends RecyclerView.ViewHolder
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
Intent intent = new Intent(activity, AppDetails2.class);
|
Intent intent = new Intent(activity, AppDetailsActivity.class);
|
||||||
intent.putExtra(AppDetails2.EXTRA_APPID, currentApp.packageName);
|
intent.putExtra(AppDetailsActivity.EXTRA_APPID, currentApp.packageName);
|
||||||
if (Build.VERSION.SDK_INT >= 21) {
|
if (Build.VERSION.SDK_INT >= 21) {
|
||||||
Pair<View, String> iconTransitionPair = Pair.create((View) icon,
|
Pair<View, String> iconTransitionPair = Pair.create((View) icon,
|
||||||
activity.getString(R.string.transition_app_item_icon));
|
activity.getString(R.string.transition_app_item_icon));
|
||||||
|
@ -41,7 +41,7 @@ import android.widget.Toast;
|
|||||||
import com.ashokvarma.bottomnavigation.BottomNavigationBar;
|
import com.ashokvarma.bottomnavigation.BottomNavigationBar;
|
||||||
import com.ashokvarma.bottomnavigation.BottomNavigationItem;
|
import com.ashokvarma.bottomnavigation.BottomNavigationItem;
|
||||||
import com.ashokvarma.bottomnavigation.TextBadgeItem;
|
import com.ashokvarma.bottomnavigation.TextBadgeItem;
|
||||||
import org.fdroid.fdroid.AppDetails2;
|
import org.fdroid.fdroid.views.AppDetailsActivity;
|
||||||
import org.fdroid.fdroid.AppUpdateStatusManager;
|
import org.fdroid.fdroid.AppUpdateStatusManager;
|
||||||
import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus;
|
import org.fdroid.fdroid.AppUpdateStatusManager.AppUpdateStatus;
|
||||||
import org.fdroid.fdroid.BuildConfig;
|
import org.fdroid.fdroid.BuildConfig;
|
||||||
@ -184,7 +184,7 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
|
|||||||
setSelectedMenuInNav();
|
setSelectedMenuInNav();
|
||||||
}
|
}
|
||||||
|
|
||||||
// AppDetails2 and RepoDetailsActivity set different NFC actions, so reset here
|
// AppDetailsActivity and RepoDetailsActivity set different NFC actions, so reset here
|
||||||
NfcHelper.setAndroidBeam(this, getApplication().getPackageName());
|
NfcHelper.setAndroidBeam(this, getApplication().getPackageName());
|
||||||
checkForAddRepoIntent(getIntent());
|
checkForAddRepoIntent(getIntent());
|
||||||
}
|
}
|
||||||
@ -309,8 +309,8 @@ public class MainActivity extends AppCompatActivity implements BottomNavigationB
|
|||||||
|
|
||||||
if (!TextUtils.isEmpty(packageName)) {
|
if (!TextUtils.isEmpty(packageName)) {
|
||||||
Utils.debugLog(TAG, "FDroid launched via app link for '" + packageName + "'");
|
Utils.debugLog(TAG, "FDroid launched via app link for '" + packageName + "'");
|
||||||
Intent intentToInvoke = new Intent(this, AppDetails2.class);
|
Intent intentToInvoke = new Intent(this, AppDetailsActivity.class);
|
||||||
intentToInvoke.putExtra(AppDetails2.EXTRA_APPID, packageName);
|
intentToInvoke.putExtra(AppDetailsActivity.EXTRA_APPID, packageName);
|
||||||
startActivity(intentToInvoke);
|
startActivity(intentToInvoke);
|
||||||
finish();
|
finish();
|
||||||
} else if (!TextUtils.isEmpty(query)) {
|
} else if (!TextUtils.isEmpty(query)) {
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:fitsSystemWindows="true"
|
android:fitsSystemWindows="true"
|
||||||
tools:context="org.fdroid.fdroid.AppDetails2"
|
tools:context="org.fdroid.fdroid.views.AppDetailsActivity"
|
||||||
android:background="?attr/appDetailsBackground"
|
android:background="?attr/appDetailsBackground"
|
||||||
android:id="@+id/rootCoordinator">
|
android:id="@+id/rootCoordinator">
|
||||||
|
|
||||||
@ -52,7 +52,7 @@
|
|||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||||
app:layoutManager="LinearLayoutManager"
|
app:layoutManager="LinearLayoutManager"
|
||||||
tools:context="org.fdroid.fdroid.AppDetails2"
|
tools:context="org.fdroid.fdroid.views.AppDetailsActivity"
|
||||||
tools:showIn="@layout/app_details2" />
|
tools:showIn="@layout/app_details2" />
|
||||||
|
|
||||||
</android.support.design.widget.CoordinatorLayout>
|
</android.support.design.widget.CoordinatorLayout>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user