1: <?php
2: namespace Sphp\tools{
3: /**
4: * Description of MobileApp
5: *
6: * @author Sartaj Singh
7: */
8: require_once(\SphpBase::sphp_settings()->lib_path . "/lib/DIR.php");
9: require_once(\SphpBase::sphp_settings()->lib_path . "/lib/FileIO.php");
10: include_once(\SphpBase::sphp_settings()->lib_path . "/lib/HtmlMinifier.php");
11: class MobileGate extends BasicGate{
12: public $mobappversion = "0.0.1";
13: public $mobappname = "HelloSphp";
14: public $mobappid = "com.sartajphp.view";
15: public $mobappdes = "A sample SartajPhp app that run on Android Mobile.";
16: public $mobappauthor = "SartajPhp Team";
17: public $mobappauthoremail = "sartaj@sartajsingh.com";
18: public $mobappauthorweb = "https://sartajphp.com";
19: public $minSdkVersion = "25";
20: public $targetSdkVersion = "34";
21: public $compileSdkVersion = "34";
22: public $sjsobj = array();
23: public $blnsjsobj = true;
24: public $sphp_api = null;
25: public $cfilename = "";
26: public $dir = null;
27: public $fileio = null;
28: public $curdirpath = "";
29: public $compoutpath = "";
30: public function setGenRootFolder($param) {}
31: public function setSpecialMetaTag($val) {}
32: /**
33: * Set Distribute multi js css files rather then single
34: */
35: public function setMultiFiles() {}
36: public function addPage($pageobj) {}
37: public function addDistLib($folderpath) {}
38: /**
39: * Add Android Settings Line to build.gradle.kts file. You can over write with same line of code.
40: * Section Name $section_name define Array key to group related Items when use renderAndroidSettings
41: * used Section Names list are:- permission(config.xml file permission code),
42: * app(config.xml file app tag inner XML code),
43: * plugins(build.gradle.kts file plugins code),
44: * android(build.gradle.kts file android code),
45: * dependency(build.gradle.kts file dependency code)
46: * You can create your own
47: * Example Pass as string:-
48: * permission:- <uses-permission android:name="android.permission.INTERNET"/>
49: * Dependency:- implementation("androidx.core:core-ktx:1.10.0")
50: * Android setting:- composeOptions {
51: kotlinCompilerExtensionVersion = "1.5.1"
52: }
53: *
54: * @param string $section_name where to insert code
55: * @param string $perm_line
56: */
57: public function addAndroidSetting($section_name, $perm_line){}
58: public function renderAndroidSettings($section_name){}
59: /**
60: * Insert Lib File Android into libs folder
61: * @param string $srcfile file for copy from
62: * @param string $destdir Optional relative Dir for copy to sub folder under libs folder. Default is root of libs folder
63: */
64: public function addAndroidLibFile($srcfile,$destdir=""){}
65: public function addAndroidLibDir($srcdir,$destdir=""){}
66: public function addKotlinGate($srcfile){}
67: public function addKotlinDir($srcdir){}
68: public function addCppDir($srcdir){}
69: public function addJavaDir($srcdir){}
70: public function process($frontobj){}
71: public function processEvent(){}
72: /**
73: * Force Copy and Generate Mobile app Files from Source. This can over write Android project files from
74: * source forcefully.
75: */
76: protected function setForceCopyGen(){}
77: /**
78: * Project will compile and run by Android Studio
79: */
80: protected function enableAndroidStudio(){}
81: protected function disableAndroidStudio(){}
82: protected function publishAndroidApp($curdirpath) {}
83: protected function sendRenderData() {}
84: public function setClassPath() {}
85: }
86: }
87: