mirror of
				https://github.com/ImranR98/Obtainium.git
				synced 2025-11-03 23:03:29 +01:00 
			
		
		
		
	Move to fonts plugin
This commit is contained in:
		@@ -1,44 +0,0 @@
 | 
			
		||||
package dev.imranr.obtainium
 | 
			
		||||
 | 
			
		||||
import android.util.Xml
 | 
			
		||||
import org.xmlpull.v1.XmlPullParser
 | 
			
		||||
import java.io.File
 | 
			
		||||
import java.io.FileInputStream
 | 
			
		||||
 | 
			
		||||
class DefaultSystemFont {
 | 
			
		||||
    fun get(): String {
 | 
			
		||||
        return try {
 | 
			
		||||
            val file = File("/system/etc/fonts.xml")
 | 
			
		||||
            val fileStream = FileInputStream(file)
 | 
			
		||||
            parseFontsFileStream(fileStream)
 | 
			
		||||
        } catch (e: Exception) {
 | 
			
		||||
            e.message ?: "Unknown fonts.xml parsing exception"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun parseFontsFileStream(fileStream: FileInputStream): String {
 | 
			
		||||
        fileStream.use { stream ->
 | 
			
		||||
            val parser = Xml.newPullParser()
 | 
			
		||||
            parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false)
 | 
			
		||||
            parser.setInput(stream, null)
 | 
			
		||||
            parser.nextTag()
 | 
			
		||||
            return parseFonts(parser)
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private fun parseFonts(parser: XmlPullParser): String {
 | 
			
		||||
        while (!((parser.next() == XmlPullParser.END_TAG) && (parser.name == "family"))) {
 | 
			
		||||
            if ((parser.eventType == XmlPullParser.START_TAG) && (parser.name == "font")
 | 
			
		||||
                && (parser.getAttributeValue(null, "style") == "normal")
 | 
			
		||||
                && (parser.getAttributeValue(null, "weight") == "400")) {
 | 
			
		||||
                break
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        parser.next()
 | 
			
		||||
        val fontFile = parser.text.trim()
 | 
			
		||||
        if (fontFile == "") {
 | 
			
		||||
            throw NoSuchFieldException("The font filename couldn't be found in fonts.xml")
 | 
			
		||||
        }
 | 
			
		||||
        return "/system/fonts/$fontFile"
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -140,10 +140,7 @@ class MainActivity: FlutterActivity() {
 | 
			
		||||
            flutterEngine.dartExecutor.binaryMessenger, "native")
 | 
			
		||||
        nativeChannel!!.setMethodCallHandler {
 | 
			
		||||
            call, result ->
 | 
			
		||||
            if (call.method == "getSystemFont") {
 | 
			
		||||
                val res = DefaultSystemFont().get()
 | 
			
		||||
                result.success(res)
 | 
			
		||||
            } else if (call.method == "checkPermissionShizuku") {
 | 
			
		||||
            if (call.method == "checkPermissionShizuku") {
 | 
			
		||||
                shizukuCheckPermission(result)
 | 
			
		||||
            } else if (call.method == "installWithShizuku") {
 | 
			
		||||
                val apkFileUri: String = call.argument("apkFileUri")!!
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user