mirror of
				https://github.com/TeamNewPipe/NewPipe
				synced 2025-10-30 23:03:00 +00:00 
			
		
		
		
	Convert isReleaseApk to lazy value
This commit is contained in:
		| @@ -20,9 +20,7 @@ import com.grack.nanojson.JsonParser | ||||
| import com.grack.nanojson.JsonParserException | ||||
| import org.schabi.newpipe.extractor.downloader.Response | ||||
| import org.schabi.newpipe.extractor.exceptions.ReCaptchaException | ||||
| import org.schabi.newpipe.util.ReleaseVersionUtil.coerceUpdateCheckExpiry | ||||
| import org.schabi.newpipe.util.ReleaseVersionUtil.isLastUpdateCheckExpired | ||||
| import org.schabi.newpipe.util.ReleaseVersionUtil.isReleaseApk | ||||
| import org.schabi.newpipe.util.ReleaseVersionUtil | ||||
| import java.io.IOException | ||||
|  | ||||
| class NewVersionWorker( | ||||
| @@ -84,7 +82,7 @@ class NewVersionWorker( | ||||
|     @Throws(IOException::class, ReCaptchaException::class) | ||||
|     private fun checkNewVersion() { | ||||
|         // Check if the current apk is a github one or not. | ||||
|         if (!isReleaseApk()) { | ||||
|         if (!ReleaseVersionUtil.isReleaseApk) { | ||||
|             return | ||||
|         } | ||||
|  | ||||
| @@ -93,7 +91,7 @@ class NewVersionWorker( | ||||
|             // Check if the last request has happened a certain time ago | ||||
|             // to reduce the number of API requests. | ||||
|             val expiry = prefs.getLong(applicationContext.getString(R.string.update_expiry_key), 0) | ||||
|             if (!isLastUpdateCheckExpired(expiry)) { | ||||
|             if (!ReleaseVersionUtil.isLastUpdateCheckExpired(expiry)) { | ||||
|                 return | ||||
|             } | ||||
|         } | ||||
| @@ -108,7 +106,7 @@ class NewVersionWorker( | ||||
|         try { | ||||
|             // Store a timestamp which needs to be exceeded, | ||||
|             // before a new request to the API is made. | ||||
|             val newExpiry = coerceUpdateCheckExpiry(response.getHeader("expires")) | ||||
|             val newExpiry = ReleaseVersionUtil.coerceUpdateCheckExpiry(response.getHeader("expires")) | ||||
|             prefs.edit { | ||||
|                 putLong(applicationContext.getString(R.string.update_expiry_key), newExpiry) | ||||
|             } | ||||
|   | ||||
| @@ -23,7 +23,7 @@ public class MainSettingsFragment extends BasePreferenceFragment { | ||||
|         setHasOptionsMenu(true); // Otherwise onCreateOptionsMenu is not called | ||||
|  | ||||
|         // Check if the app is updatable | ||||
|         if (!ReleaseVersionUtil.isReleaseApk()) { | ||||
|         if (!ReleaseVersionUtil.INSTANCE.isReleaseApk()) { | ||||
|             getPreferenceScreen().removePreference( | ||||
|                     findPreference(getString(R.string.update_pref_screen_key))); | ||||
|  | ||||
|   | ||||
| @@ -266,7 +266,7 @@ public class SettingsActivity extends AppCompatActivity implements | ||||
|      */ | ||||
|     private void ensureSearchRepresentsApplicationState() { | ||||
|         // Check if the update settings are available | ||||
|         if (!ReleaseVersionUtil.isReleaseApk()) { | ||||
|         if (!ReleaseVersionUtil.INSTANCE.isReleaseApk()) { | ||||
|             SettingsResourceRegistry.getInstance() | ||||
|                     .getEntryByPreferencesResId(R.xml.update_settings) | ||||
|                     .setSearchable(false); | ||||
|   | ||||
| @@ -15,14 +15,13 @@ object ReleaseVersionUtil { | ||||
|     private const val RELEASE_CERT_PUBLIC_KEY_SHA256 = | ||||
|         "cb84069bd68116bafae5ee4ee5b08a567aa6d898404e7cb12f9e756df5cf5cab" | ||||
|  | ||||
|     @JvmStatic | ||||
|     fun isReleaseApk(): Boolean { | ||||
|     val isReleaseApk by lazy { | ||||
|         @Suppress("NewApi") | ||||
|         val certificates = mapOf( | ||||
|             RELEASE_CERT_PUBLIC_KEY_SHA256.toByteArray() to PackageManager.CERT_INPUT_SHA256 | ||||
|         ) | ||||
|         val app = App.getApp() | ||||
|         return try { | ||||
|         try { | ||||
|             PackageInfoCompat.hasSignatures(app.packageManager, app.packageName, certificates, false) | ||||
|         } catch (e: PackageManager.NameNotFoundException) { | ||||
|             createNotification( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Isira Seneviratne
					Isira Seneviratne