move getSharingUri() to Utils for easier reuse
This method will also be used by the local repo for swapping.
This commit is contained in:
parent
1018cad3b4
commit
527f649fc2
@ -19,23 +19,27 @@
|
|||||||
package org.fdroid.fdroid;
|
package org.fdroid.fdroid;
|
||||||
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.net.Uri;
|
||||||
import android.content.pm.PackageInfo;
|
import android.net.wifi.WifiInfo;
|
||||||
|
import android.net.wifi.WifiManager;
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.DisplayMetrics;
|
import android.util.DisplayMetrics;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
import com.nostra13.universalimageloader.utils.StorageUtils;
|
import com.nostra13.universalimageloader.utils.StorageUtils;
|
||||||
|
|
||||||
|
import org.fdroid.fdroid.data.Repo;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileReader;
|
import java.io.FileReader;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.security.MessageDigest;
|
||||||
import java.security.cert.Certificate;
|
import java.security.cert.Certificate;
|
||||||
import java.security.cert.CertificateEncodingException;
|
import java.security.cert.CertificateEncodingException;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.security.MessageDigest;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public final class Utils {
|
public final class Utils {
|
||||||
@ -188,6 +192,22 @@ public final class Utils {
|
|||||||
return displayFP;
|
return displayFP;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static Uri getSharingUri(Context context, Repo repo) {
|
||||||
|
Uri uri = Uri.parse(repo.address.replaceFirst("http", "fdroidrepo"));
|
||||||
|
Uri.Builder b = uri.buildUpon();
|
||||||
|
b.appendQueryParameter("fingerprint", repo.fingerprint);
|
||||||
|
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
|
||||||
|
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
|
||||||
|
String ssid = wifiInfo.getSSID().replaceAll("^\"(.*)\"$", "$1");
|
||||||
|
String bssid = wifiInfo.getBSSID();
|
||||||
|
if (!TextUtils.isEmpty(bssid)) {
|
||||||
|
b.appendQueryParameter("bssid", Uri.encode(bssid));
|
||||||
|
if (!TextUtils.isEmpty(ssid))
|
||||||
|
b.appendQueryParameter("ssid", Uri.encode(ssid));
|
||||||
|
}
|
||||||
|
return b.build();
|
||||||
|
}
|
||||||
|
|
||||||
public static File getApkCacheDir(Context context) {
|
public static File getApkCacheDir(Context context) {
|
||||||
File apkCacheDir = new File(
|
File apkCacheDir = new File(
|
||||||
StorageUtils.getCacheDirectory(context, true), "apks");
|
StorageUtils.getCacheDirectory(context, true), "apks");
|
||||||
|
@ -4,8 +4,6 @@ package org.fdroid.fdroid.views;
|
|||||||
import android.annotation.TargetApi;
|
import android.annotation.TargetApi;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.net.wifi.WifiInfo;
|
|
||||||
import android.net.wifi.WifiManager;
|
|
||||||
import android.nfc.NdefMessage;
|
import android.nfc.NdefMessage;
|
||||||
import android.nfc.NdefRecord;
|
import android.nfc.NdefRecord;
|
||||||
import android.nfc.NfcAdapter;
|
import android.nfc.NfcAdapter;
|
||||||
@ -13,12 +11,12 @@ import android.os.Build;
|
|||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Parcelable;
|
import android.os.Parcelable;
|
||||||
import android.support.v4.app.FragmentActivity;
|
import android.support.v4.app.FragmentActivity;
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
|
|
||||||
import org.fdroid.fdroid.FDroidApp;
|
import org.fdroid.fdroid.FDroidApp;
|
||||||
|
import org.fdroid.fdroid.Utils;
|
||||||
import org.fdroid.fdroid.compat.ActionBarCompat;
|
import org.fdroid.fdroid.compat.ActionBarCompat;
|
||||||
import org.fdroid.fdroid.data.Repo;
|
import org.fdroid.fdroid.data.Repo;
|
||||||
import org.fdroid.fdroid.data.RepoProvider;
|
import org.fdroid.fdroid.data.RepoProvider;
|
||||||
@ -27,7 +25,6 @@ import org.fdroid.fdroid.views.fragments.RepoDetailsFragment;
|
|||||||
public class RepoDetailsActivity extends FragmentActivity {
|
public class RepoDetailsActivity extends FragmentActivity {
|
||||||
public static final String TAG = "RepoDetailsActivity";
|
public static final String TAG = "RepoDetailsActivity";
|
||||||
|
|
||||||
private WifiManager wifiManager;
|
|
||||||
private Repo repo;
|
private Repo repo;
|
||||||
|
|
||||||
static final String MIME_TYPE = "application/vnd.org.fdroid.fdroid.repo";
|
static final String MIME_TYPE = "application/vnd.org.fdroid.fdroid.repo";
|
||||||
@ -67,8 +64,6 @@ public class RepoDetailsActivity extends FragmentActivity {
|
|||||||
|
|
||||||
ActionBarCompat.create(this).setDisplayHomeAsUpEnabled(true);
|
ActionBarCompat.create(this).setDisplayHomeAsUpEnabled(true);
|
||||||
setTitle(repo.getName());
|
setTitle(repo.getName());
|
||||||
|
|
||||||
wifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@TargetApi(14)
|
@TargetApi(14)
|
||||||
@ -80,7 +75,7 @@ public class RepoDetailsActivity extends FragmentActivity {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
nfcAdapter.setNdefPushMessage(new NdefMessage(new NdefRecord[] {
|
nfcAdapter.setNdefPushMessage(new NdefMessage(new NdefRecord[] {
|
||||||
NdefRecord.createUri(getSharingUri()),
|
NdefRecord.createUri(Utils.getSharingUri(this, repo)),
|
||||||
}), this);
|
}), this);
|
||||||
findViewById(android.R.id.content).post(new Runnable() {
|
findViewById(android.R.id.content).post(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
@ -128,19 +123,4 @@ public class RepoDetailsActivity extends FragmentActivity {
|
|||||||
finish();
|
finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Uri getSharingUri() {
|
|
||||||
Uri uri = Uri.parse(repo.address.replaceFirst("http", "fdroidrepo"));
|
|
||||||
Uri.Builder b = uri.buildUpon();
|
|
||||||
b.appendQueryParameter("fingerprint", repo.fingerprint);
|
|
||||||
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
|
|
||||||
String ssid = wifiInfo.getSSID().replaceAll("^\"(.*)\"$", "$1");
|
|
||||||
String bssid = wifiInfo.getBSSID();
|
|
||||||
if (!TextUtils.isEmpty(bssid)) {
|
|
||||||
b.appendQueryParameter("bssid", Uri.encode(bssid));
|
|
||||||
if (!TextUtils.isEmpty(ssid))
|
|
||||||
b.appendQueryParameter("ssid", Uri.encode(ssid));
|
|
||||||
}
|
|
||||||
return b.build();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user