Merge commit 'refs/merge-requests/68' of gitorious.org:f-droid/fdroidclient
This commit is contained in:
		
						commit
						6284811fec
					
				
							
								
								
									
										23
									
								
								Android.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								Android.mk
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					LOCAL_PATH:= $(call my-dir)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					include $(CLEAR_VARS)
 | 
				
			||||||
 | 
					LOCAL_PACKAGE_NAME := F-Droid
 | 
				
			||||||
 | 
					LOCAL_CERTIFICATE := platform
 | 
				
			||||||
 | 
					LOCAL_MODULE_TAGS := optional
 | 
				
			||||||
 | 
					LOCAL_SRC_FILES := \
 | 
				
			||||||
 | 
					  $(call all-java-files-under, src) \
 | 
				
			||||||
 | 
					  $(call all-java-files-under, extern/MemorizingTrustManager/src) \
 | 
				
			||||||
 | 
					  $(call all-java-files-under, extern/AndroidPinning/src) \
 | 
				
			||||||
 | 
					  $(call all-java-files-under, extern/UniversalImageLoader/library/src )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					res_dirs = res extern/MemorizingTrustManager/res extern/AndroidPinning/res
 | 
				
			||||||
 | 
					LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LOCAL_AAPT_FLAGS := --auto-add-overlay
 | 
				
			||||||
 | 
					LOCAL_AAPT_FLAGS += --extra-packages org.fdroid.fdroid:de.duenndns.ssl:org.thoughtcrime.ssl.pinning
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LOCAL_PRIVILEGED_MODULE := true
 | 
				
			||||||
 | 
					include $(BUILD_PACKAGE)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							
								
								
									
										20
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								README.md
									
									
									
									
									
								
							@ -20,6 +20,26 @@ The project itself supports Gradle, but some of the libraries it uses don't.
 | 
				
			|||||||
Hence it is currently not possible to build F-Droid with Gradle in a clean way
 | 
					Hence it is currently not possible to build F-Droid with Gradle in a clean way
 | 
				
			||||||
without manual interaction.
 | 
					without manual interaction.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Building as part of a ROM
 | 
				
			||||||
 | 
					-------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Add the following lines to your repo manifest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					<remote name="fdroid" fetch="https://git.gitorious.org/f-droid" />
 | 
				
			||||||
 | 
					<remote name="github" fetch="https://github.com/" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<project path="packages/apps/fdroidclient" name="fdroidclient.git" remote="fdroid" revision="master" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<project path="packages/apps/fdroidclient/extern/UniversalImageLoader" name="nostra13/Android-Universal-Image-Loader" remote="github" revision="master" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<project path="packages/apps/fdroidclient/extern/MemorizingTrustManager" name="ge0rg/MemorizingTrustManager" remote="github" revision="master" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<!-- should be binaryparadox/AndroidPinning once pullrequest #2 is closed -->
 | 
				
			||||||
 | 
					<project path="packages/apps/fdroidclient/extern/AndroidPinning" name="rtreffer/AndroidPinning" remote="github" revision="master" />
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Adding F-Droid is then just a matter of adding "F-Droid" to your PRODUCT_PACKAGES.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Direct download
 | 
					Direct download
 | 
				
			||||||
---------------
 | 
					---------------
 | 
				
			||||||
 | 
				
			|||||||
@ -10,7 +10,7 @@
 | 
				
			|||||||
          android:maxLines="1"
 | 
					          android:maxLines="1"
 | 
				
			||||||
          android:paddingLeft="8sp"
 | 
					          android:paddingLeft="8sp"
 | 
				
			||||||
          android:paddingStart="8sp"
 | 
					          android:paddingStart="8sp"
 | 
				
			||||||
          android:text="Discovered Repo Name"
 | 
					          android:text="@string/discovered_repo_name"
 | 
				
			||||||
          android:textSize="16sp"
 | 
					          android:textSize="16sp"
 | 
				
			||||||
          android:textStyle="bold" />
 | 
					          android:textStyle="bold" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -23,7 +23,7 @@
 | 
				
			|||||||
          android:paddingLeft="8sp"
 | 
					          android:paddingLeft="8sp"
 | 
				
			||||||
          android:paddingStart="8sp"
 | 
					          android:paddingStart="8sp"
 | 
				
			||||||
          android:maxLines="1"
 | 
					          android:maxLines="1"
 | 
				
			||||||
          android:text="Repo Address"
 | 
					          android:text="@string/repo_address"
 | 
				
			||||||
          android:textSize="14sp" />
 | 
					          android:textSize="14sp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</RelativeLayout>
 | 
					</RelativeLayout>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,10 +1,19 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="utf-8"?>
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
<resources>
 | 
					<resources>
 | 
				
			||||||
    <string name="default_repo_name" formatted="false">F-Droid</string>
 | 
					    <integer name="default_repo_count">3</integer>
 | 
				
			||||||
 | 
					    <string name="default_repo_name1" formatted="false">F-Droid</string>
 | 
				
			||||||
    <string name="default_repo_name2" formatted="false">F-Droid Archive</string>
 | 
					    <string name="default_repo_name2" formatted="false">F-Droid Archive</string>
 | 
				
			||||||
    <string name="default_repo_address" formatted="false">https://f-droid.org/repo</string>
 | 
					    <string name="default_repo_name3" formatted="false">GuardianProject</string>
 | 
				
			||||||
 | 
					    <integer name="default_repo_inuse1">1</integer>
 | 
				
			||||||
 | 
					    <integer name="default_repo_inuse2">0</integer>
 | 
				
			||||||
 | 
					    <integer name="default_repo_inuse3">0</integer>
 | 
				
			||||||
 | 
					    <string name="default_repo_address1" formatted="false">https://f-droid.org/repo</string>
 | 
				
			||||||
    <string name="default_repo_address2" formatted="false">https://f-droid.org/archive</string>
 | 
					    <string name="default_repo_address2" formatted="false">https://f-droid.org/archive</string>
 | 
				
			||||||
    <string name="default_repo_description" formatted="false">The official FDroid repository. Applications in this repository are mostly built directory from the source code. Some are official binaries built by the original application developers - these will be replaced by source-built versions over time.</string>
 | 
					    <string name="default_repo_address3" formatted="false">https://guardianproject.info/repo/</string>
 | 
				
			||||||
 | 
					    <string name="default_repo_description1" formatted="false">The official FDroid repository. Applications in this repository are mostly built directory from the source code. Some are official binaries built by the original application developers - these will be replaced by source-built versions over time.</string>
 | 
				
			||||||
    <string name="default_repo_description2" formatted="false">The archive repository of the F-Droid client. This contains older versions of applications from the main repository.</string>
 | 
					    <string name="default_repo_description2" formatted="false">The archive repository of the F-Droid client. This contains older versions of applications from the main repository.</string>
 | 
				
			||||||
    <string name="default_repo_pubkey" formatted="false">3082035e30820246a00302010202044c49cd00300d06092a864886f70d01010505003071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b73301e170d3130303732333137313032345a170d3337313230383137313032345a3071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b7330820122300d06092a864886f70d01010105000382010f003082010a028201010096d075e47c014e7822c89fd67f795d23203e2a8843f53ba4e6b1bf5f2fd0e225938267cfcae7fbf4fe596346afbaf4070fdb91f66fbcdf2348a3d92430502824f80517b156fab00809bdc8e631bfa9afd42d9045ab5fd6d28d9e140afc1300917b19b7c6c4df4a494cf1f7cb4a63c80d734265d735af9e4f09455f427aa65a53563f87b336ca2c19d244fcbba617ba0b19e56ed34afe0b253ab91e2fdb1271f1b9e3c3232027ed8862a112f0706e234cf236914b939bcf959821ecb2a6c18057e070de3428046d94b175e1d89bd795e535499a091f5bc65a79d539a8d43891ec504058acb28c08393b5718b57600a211e803f4a634e5c57f25b9b8c4422c6fd90203010001300d06092a864886f70d0101050500038201010008e4ef699e9807677ff56753da73efb2390d5ae2c17e4db691d5df7a7b60fc071ae509c5414be7d5da74df2811e83d3668c4a0b1abc84b9fa7d96b4cdf30bba68517ad2a93e233b042972ac0553a4801c9ebe07bf57ebe9a3b3d6d663965260e50f3b8f46db0531761e60340a2bddc3426098397fda54044a17e5244549f9869b460ca5e6e216b6f6a2db0580b480ca2afe6ec6b46eedacfa4aa45038809ece0c5978653d6c85f678e7f5a2156d1bedd8117751e64a4b0dcd140f3040b021821a8d93aed8d01ba36db6c82372211fed714d9a32607038cdfd565bd529ffc637212aaa2c224ef22b603eccefb5bf1e085c191d4b24fe742b17ab3f55d4e6f05ef</string>
 | 
					    <string name="default_repo_description3" formatted="false">A curated repository of apps developed by the Guardian Project and others focused on mobile security, privacy and safety.</string>
 | 
				
			||||||
 | 
					    <string name="default_repo_pubkey1" formatted="false">3082035e30820246a00302010202044c49cd00300d06092a864886f70d01010505003071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b73301e170d3130303732333137313032345a170d3337313230383137313032345a3071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b7330820122300d06092a864886f70d01010105000382010f003082010a028201010096d075e47c014e7822c89fd67f795d23203e2a8843f53ba4e6b1bf5f2fd0e225938267cfcae7fbf4fe596346afbaf4070fdb91f66fbcdf2348a3d92430502824f80517b156fab00809bdc8e631bfa9afd42d9045ab5fd6d28d9e140afc1300917b19b7c6c4df4a494cf1f7cb4a63c80d734265d735af9e4f09455f427aa65a53563f87b336ca2c19d244fcbba617ba0b19e56ed34afe0b253ab91e2fdb1271f1b9e3c3232027ed8862a112f0706e234cf236914b939bcf959821ecb2a6c18057e070de3428046d94b175e1d89bd795e535499a091f5bc65a79d539a8d43891ec504058acb28c08393b5718b57600a211e803f4a634e5c57f25b9b8c4422c6fd90203010001300d06092a864886f70d0101050500038201010008e4ef699e9807677ff56753da73efb2390d5ae2c17e4db691d5df7a7b60fc071ae509c5414be7d5da74df2811e83d3668c4a0b1abc84b9fa7d96b4cdf30bba68517ad2a93e233b042972ac0553a4801c9ebe07bf57ebe9a3b3d6d663965260e50f3b8f46db0531761e60340a2bddc3426098397fda54044a17e5244549f9869b460ca5e6e216b6f6a2db0580b480ca2afe6ec6b46eedacfa4aa45038809ece0c5978653d6c85f678e7f5a2156d1bedd8117751e64a4b0dcd140f3040b021821a8d93aed8d01ba36db6c82372211fed714d9a32607038cdfd565bd529ffc637212aaa2c224ef22b603eccefb5bf1e085c191d4b24fe742b17ab3f55d4e6f05ef</string>
 | 
				
			||||||
 | 
					    <string name="default_repo_pubkey2" formatted="false">3082035e30820246a00302010202044c49cd00300d06092a864886f70d01010505003071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b73301e170d3130303732333137313032345a170d3337313230383137313032345a3071310b300906035504061302554b3110300e06035504081307556e6b6e6f776e3111300f0603550407130857657468657262793110300e060355040a1307556e6b6e6f776e3110300e060355040b1307556e6b6e6f776e311930170603550403131043696172616e2047756c746e69656b7330820122300d06092a864886f70d01010105000382010f003082010a028201010096d075e47c014e7822c89fd67f795d23203e2a8843f53ba4e6b1bf5f2fd0e225938267cfcae7fbf4fe596346afbaf4070fdb91f66fbcdf2348a3d92430502824f80517b156fab00809bdc8e631bfa9afd42d9045ab5fd6d28d9e140afc1300917b19b7c6c4df4a494cf1f7cb4a63c80d734265d735af9e4f09455f427aa65a53563f87b336ca2c19d244fcbba617ba0b19e56ed34afe0b253ab91e2fdb1271f1b9e3c3232027ed8862a112f0706e234cf236914b939bcf959821ecb2a6c18057e070de3428046d94b175e1d89bd795e535499a091f5bc65a79d539a8d43891ec504058acb28c08393b5718b57600a211e803f4a634e5c57f25b9b8c4422c6fd90203010001300d06092a864886f70d0101050500038201010008e4ef699e9807677ff56753da73efb2390d5ae2c17e4db691d5df7a7b60fc071ae509c5414be7d5da74df2811e83d3668c4a0b1abc84b9fa7d96b4cdf30bba68517ad2a93e233b042972ac0553a4801c9ebe07bf57ebe9a3b3d6d663965260e50f3b8f46db0531761e60340a2bddc3426098397fda54044a17e5244549f9869b460ca5e6e216b6f6a2db0580b480ca2afe6ec6b46eedacfa4aa45038809ece0c5978653d6c85f678e7f5a2156d1bedd8117751e64a4b0dcd140f3040b021821a8d93aed8d01ba36db6c82372211fed714d9a32607038cdfd565bd529ffc637212aaa2c224ef22b603eccefb5bf1e085c191d4b24fe742b17ab3f55d4e6f05ef</string>
 | 
				
			||||||
 | 
					    <string name="default_repo_pubkey3" formatted="false">308203c5308202ada00302010202047b7cf549300d06092a864886f70d01010b0500308192310b30090603550406130255533111300f060355040813084e657720596f726b3111300f060355040713084e657720596f726b311d301b060355040a131454686520477561726469616e2050726f6a656374311f301d060355040b1316477561726469616e20462d44726f6964204275696c64311d301b06035504031314677561726469616e70726f6a6563742e696e666f301e170d3132313032393130323530305a170d3430303331363130323530305a308192310b30090603550406130255533111300f060355040813084e657720596f726b3111300f060355040713084e657720596f726b311d301b060355040a131454686520477561726469616e2050726f6a656374311f301d060355040b1316477561726469616e20462d44726f6964204275696c64311d301b06035504031314677561726469616e70726f6a6563742e696e666f30820122300d06092a864886f70d01010105000382010f003082010a0282010100b7f1f635fa3fce1a8042aaa960c2dc557e4ad2c082e5787488cba587fd26207cf59507919fc4dcebda5c8c0959d14146d0445593aa6c29dc639570b71712451fd5c231b0c9f5f0bec380503a1c2a3bc00048bc5db682915afa54d1ecf67b45e1e05c0934b3037a33d3a565899131f27a72c03a5de93df17a2376cc3107f03ee9d124c474dfab30d4053e8f39f292e2dcb6cc131bce12a0c5fc307985195d256bf1d7a2703d67c14bf18ed6b772bb847370b20335810e337c064fef7e2795a524c664a853cd46accb8494f865164dabfb698fa8318236432758bc40d52db00d5ce07fe2210dc06cd95298b4f09e6c9b7b7af61c1d62ea43ea36a2331e7b2d4e250203010001a321301f301d0603551d0e0416041404d763e981cf3a295b94a790d8536a783097232b300d06092a864886f70d01010b05000382010100654e6484ff032c54fed1d96d3c8e731302be9dbd7bb4fe635f2dac05b69f3ecbb5acb7c9fe405e2a066567a8f5c2beb8b199b5a4d5bb1b435cf02df026d4fb4edd9d8849078f085b00950083052d57467d65c6eebd98f037cff9b148d621cf8819c4f7dc1459bf8fc5c7d76f901495a7caf35d1e5c106e1d50610c4920c3c1b50adcfbd4ad83ce7353cdea7d856bba0419c224f89a2f3ebc203d20eb6247711ad2b55fd4737936dc42ced7a047cbbd24012079204a2883b6d55d5d5b66d9fd82fb51fca9a5db5fad9af8564cb380ff30ae8263dbbf01b46e01313f53279673daa3f893380285646b244359203e7eecde94ae141b7dfa8e6499bb8e7e0b25ab85</string>
 | 
				
			||||||
</resources>
 | 
					</resources>
 | 
				
			||||||
 | 
				
			|||||||
@ -210,4 +210,7 @@
 | 
				
			|||||||
    <string name="not_on_same_wifi">Your device is not on the same WiFi as the local repo you just added! Try joining this network: %s</string>
 | 
					    <string name="not_on_same_wifi">Your device is not on the same WiFi as the local repo you just added! Try joining this network: %s</string>
 | 
				
			||||||
    <string name="requires_features">Requires: %1$s</string>
 | 
					    <string name="requires_features">Requires: %1$s</string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <string name="discovered_repo_name">Discovered Repo Name</string>
 | 
				
			||||||
 | 
					    <string name="repo_address">Repo Address</string>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</resources>
 | 
					</resources>
 | 
				
			||||||
 | 
				
			|||||||
@ -913,6 +913,7 @@ public class AppDetails extends ListActivity {
 | 
				
			|||||||
        Intent intent = new Intent(Intent.ACTION_VIEW);
 | 
					        Intent intent = new Intent(Intent.ACTION_VIEW);
 | 
				
			||||||
        intent.setDataAndType(Uri.parse("file://" + file.getPath()),
 | 
					        intent.setDataAndType(Uri.parse("file://" + file.getPath()),
 | 
				
			||||||
                "application/vnd.android.package-archive");
 | 
					                "application/vnd.android.package-archive");
 | 
				
			||||||
 | 
					        intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
 | 
				
			||||||
        startActivityForResult(intent, REQUEST_INSTALL);
 | 
					        startActivityForResult(intent, REQUEST_INSTALL);
 | 
				
			||||||
        ((FDroidApp) getApplication()).invalidateApp(id);
 | 
					        ((FDroidApp) getApplication()).invalidateApp(id);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,7 @@ package org.fdroid.fdroid.data;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import android.content.ContentValues;
 | 
					import android.content.ContentValues;
 | 
				
			||||||
import android.content.Context;
 | 
					import android.content.Context;
 | 
				
			||||||
 | 
					import android.content.res.Resources;
 | 
				
			||||||
import android.database.Cursor;
 | 
					import android.database.Cursor;
 | 
				
			||||||
import android.database.sqlite.SQLiteDatabase;
 | 
					import android.database.sqlite.SQLiteDatabase;
 | 
				
			||||||
import android.database.sqlite.SQLiteOpenHelper;
 | 
					import android.database.sqlite.SQLiteOpenHelper;
 | 
				
			||||||
@ -175,40 +176,49 @@ public class DBHelper extends SQLiteOpenHelper {
 | 
				
			|||||||
        createAppApk(db);
 | 
					        createAppApk(db);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        db.execSQL(CREATE_TABLE_REPO);
 | 
					        db.execSQL(CREATE_TABLE_REPO);
 | 
				
			||||||
        ContentValues values = new ContentValues();
 | 
					 | 
				
			||||||
        values.put("address",
 | 
					 | 
				
			||||||
                context.getString(R.string.default_repo_address));
 | 
					 | 
				
			||||||
        values.put("name",
 | 
					 | 
				
			||||||
                context.getString(R.string.default_repo_name));
 | 
					 | 
				
			||||||
        values.put("description",
 | 
					 | 
				
			||||||
                context.getString(R.string.default_repo_description));
 | 
					 | 
				
			||||||
        values.put("version", 0);
 | 
					 | 
				
			||||||
        String pubkey = context.getString(R.string.default_repo_pubkey);
 | 
					 | 
				
			||||||
        String fingerprint = Utils.calcFingerprint(pubkey);
 | 
					 | 
				
			||||||
        values.put("pubkey", pubkey);
 | 
					 | 
				
			||||||
        values.put("fingerprint", fingerprint);
 | 
					 | 
				
			||||||
        values.put("maxage", 0);
 | 
					 | 
				
			||||||
        values.put("inuse", 1);
 | 
					 | 
				
			||||||
        values.put("priority", 10);
 | 
					 | 
				
			||||||
        values.put("lastetag", (String) null);
 | 
					 | 
				
			||||||
        db.insert(TABLE_REPO, null, values);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        values = new ContentValues();
 | 
					        Resources ress = context.getResources();
 | 
				
			||||||
        values.put("address",
 | 
					
 | 
				
			||||||
                context.getString(R.string.default_repo_address2));
 | 
					        int repoCount = ress.getInteger(R.integer.default_repo_count);
 | 
				
			||||||
        values.put("name",
 | 
					        for (int i = 1; i <= repoCount; i++) {
 | 
				
			||||||
                context.getString(R.string.default_repo_name2));
 | 
					            ContentValues values = new ContentValues();
 | 
				
			||||||
        values.put("description",
 | 
					            String repoName = context.getString(ress.getIdentifier(
 | 
				
			||||||
                context.getString(R.string.default_repo_description2));
 | 
					                    "default_repo_name" + i,
 | 
				
			||||||
        values.put("version", 0);
 | 
					                    "string",
 | 
				
			||||||
        // default #2 is /archive which has the same key as /repo
 | 
					                    "org.fdroid.fdroid"
 | 
				
			||||||
        values.put("pubkey", pubkey);
 | 
					                    ));
 | 
				
			||||||
        values.put("fingerprint", fingerprint);
 | 
					            values.put("address",
 | 
				
			||||||
        values.put("maxage", 0);
 | 
					                context.getString(ress.getIdentifier(
 | 
				
			||||||
        values.put("inuse", 0);
 | 
					                    "default_repo_address" + i,
 | 
				
			||||||
        values.put("priority", 20);
 | 
					                    "string",
 | 
				
			||||||
        values.put("lastetag", (String) null);
 | 
					                    "org.fdroid.fdroid"
 | 
				
			||||||
        db.insert(TABLE_REPO, null, values);
 | 
					                    )));
 | 
				
			||||||
 | 
					            values.put("name",repoName);
 | 
				
			||||||
 | 
					            values.put("description",
 | 
				
			||||||
 | 
					                context.getString(ress.getIdentifier(
 | 
				
			||||||
 | 
					                    "default_repo_description" + i,
 | 
				
			||||||
 | 
					                    "string",
 | 
				
			||||||
 | 
					                    "org.fdroid.fdroid"
 | 
				
			||||||
 | 
					                   )));
 | 
				
			||||||
 | 
					            String pubkey = context.getString(ress.getIdentifier(
 | 
				
			||||||
 | 
					                    "default_repo_pubkey" + i,
 | 
				
			||||||
 | 
					                    "string",
 | 
				
			||||||
 | 
					                    "org.fdroid.fdroid"
 | 
				
			||||||
 | 
					                    ));
 | 
				
			||||||
 | 
					            String fingerprint = Utils.calcFingerprint(pubkey);
 | 
				
			||||||
 | 
					            values.put("pubkey", pubkey);
 | 
				
			||||||
 | 
					            values.put("fingerprint", fingerprint);
 | 
				
			||||||
 | 
					            values.put("maxage", 0);
 | 
				
			||||||
 | 
					            values.put("inuse", ress.getInteger(ress.getIdentifier(
 | 
				
			||||||
 | 
					                    "default_repo_inuse" + i,
 | 
				
			||||||
 | 
					                    "integer",
 | 
				
			||||||
 | 
					                    "org.fdroid.fdroid"
 | 
				
			||||||
 | 
					                   )));
 | 
				
			||||||
 | 
					            values.put("priority", 10);
 | 
				
			||||||
 | 
					            values.put("lastetag", (String) null);
 | 
				
			||||||
 | 
					            Log.i("FDroid", "Add repository " + repoName);
 | 
				
			||||||
 | 
					            db.insert(TABLE_REPO, null, values);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@ -280,10 +290,10 @@ public class DBHelper extends SQLiteOpenHelper {
 | 
				
			|||||||
            if (!descriptionExists)
 | 
					            if (!descriptionExists)
 | 
				
			||||||
                db.execSQL("alter table " + TABLE_REPO + " add column description text");
 | 
					                db.execSQL("alter table " + TABLE_REPO + " add column description text");
 | 
				
			||||||
            ContentValues values = new ContentValues();
 | 
					            ContentValues values = new ContentValues();
 | 
				
			||||||
            values.put("name", context.getString(R.string.default_repo_name));
 | 
					            values.put("name", context.getString(R.string.default_repo_name1));
 | 
				
			||||||
            values.put("description", context.getString(R.string.default_repo_description));
 | 
					            values.put("description", context.getString(R.string.default_repo_description1));
 | 
				
			||||||
            db.update(TABLE_REPO, values, "address = ?", new String[]{
 | 
					            db.update(TABLE_REPO, values, "address = ?", new String[]{
 | 
				
			||||||
                    context.getString(R.string.default_repo_address)});
 | 
					                    context.getString(R.string.default_repo_address1)});
 | 
				
			||||||
            values.clear();
 | 
					            values.clear();
 | 
				
			||||||
            values.put("name", context.getString(R.string.default_repo_name2));
 | 
					            values.put("name", context.getString(R.string.default_repo_name2));
 | 
				
			||||||
            values.put("description", context.getString(R.string.default_repo_description2));
 | 
					            values.put("description", context.getString(R.string.default_repo_description2));
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user