Skip to content

Create devcontainer.json #22

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

Jesslopez
Copy link

@Jesslopez Jesslopez commented Feb 28, 2025

1. [/Abd/](url) shell sh /storage/emulated/0/Android/data/moe.shizuku.privileged.api/start.sh

@Jesslopez
Copy link
Author

Jesslopez commented Mar 20, 2025


 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
 <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
 <uses-permission android:name="android.permission.WAKE_LOCK" />
 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

 <application
     android:name="androidx.multidex.MultiDexApplication"
     android:allowBackup="true"
     android:icon="@mipmap/ic_launcher"
     android:label="@string/app_name"
     android:supportsRtl="true"
     android:theme="@style/AppTheme">
     <activity android:name=".RateActivity"/>
     <activity android:name=".ResultActivity" />
     <activity
         android:exported="true"
         android:name=".MainActivity">
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />

             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
     </activity>

     <service android:name=".service.BenchmarkService" />

     <receiver
         android:name=".RestartReceiver"
         android:enabled="true"
         android:exported="true">
         <intent-filter>
             <action android:name="android.intent.action.BOOT_COMPLETED" />
             <action android:name="android.intent.action.USER_FOREGROUND" />
             <action android:name="android.intent.action.MY_PACKAGE_REPLACED" />
         </intent-filter>
     </receiver>
 </application>

@Jesslopez
Copy link
Author


 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
 <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
 <uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
 <uses-permission android:name="android.permission.WAKE_LOCK" />
 <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

 <application
     android:name="androidx.multidex.MultiDexApplication"
     android:allowBackup="true"
     android:icon="@mipmap/ic_launcher"
     android:label="@string/app_name"
     android:supportsRtl="true"
     android:theme="@style/AppTheme">
     <activity android:name=".RateActivity"/>
     <activity android:name=".ResultActivity" />
     <activity
         android:exported="true"
         android:name=".MainActivity">
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />

             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>

@Jesslopez
Copy link
Author

The MIT License (MIT)

Copyright (c) 2014-2015 _
ny,** LLC; (http://tozny.com)

  • ``

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

@Jesslopez
Copy link
Author

Jesslopez commented Apr 15, 2025

[`*.js linguist-language=Other
*.mjs linguist-language=Other
*.cjs linguist-language=Other

*.html linguist-language=Other
*.htm linguist-language=Other

*.css linguist-language=Other
*.less linguist-language=Other
*.sass linguist-language=Other

*.js linguist-detectable=false
*.mjs linguist-detectable=false
*.cjs linguist-detectable=false

*.html linguist-detectable=false
*.htm linguist-detectable=false

*.css linguist-detectable=false
*.less linguist-detectable=false
*.sass linguist-detectable=false`](url)

  • [ ]

@Jesslopez
Copy link
Author

`[package com.linux.vshow;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;

import android.util.Log;

import com.xboot.stdcall.posix;

public class Tool {

public static void setPowerOnOff(byte on_h, byte on_m, byte off_h,
		byte off_m, byte enable) {
	int fd, ret;
	fd = posix.open("/dev/McuCom", posix.O_RDWR, 0666);
	if (fd < 0) {
		posix.close(fd);
		return;
	}
	ret = posix.poweronoff(off_h, off_m, on_h, on_m, enable, fd);
	if (ret != 0) {
		posix.close(fd);
		return;
	}
	posix.close(fd);
}

// public static void enable_watchdog() {
// int fd, ret;
// fd = posix.open("/dev/McuCom", posix.O_RDWR, 0666);
// if (fd < 0) {
// return;
// }
// ret = posix.watchdogenable((byte) 1, fd);
// if (ret != 0) {
// posix.close(fd);
// return;
// }
// posix.close(fd);
// }

public static void enable_sync(String str) {
	int fd;
	fd = posix.open(str, posix.O_SYNC, 0666);
	if (fd < 0) {
		return;
	}
	posix.fsync(fd);
	posix.close(fd);
}

// public static void disable_watchdog() {
// int fd, ret;
// fd = posix.open("/dev/McuCom", posix.O_RDWR, 0666);
// if (fd < 0) {
// return;
// }
// ret = posix.watchdogenable((byte) 0, fd);
// if (ret != 0) {
// posix.close(fd);
// return;
// }
// posix.close(fd);
// }

// public static void feed_watchdog() {
// int fd, ret;
// fd = posix.open("/dev/McuCom", posix.O_RDWR, 0666);
// if (fd < 0) {
// return;
// }
// ret = posix.watchdogfeed(fd);
// if (ret != 0) {
// posix.close(fd);
// return;
// }
// posix.close(fd);
// }

public static String[] loadConfig(String[] keys, String config) {
	FileInputStream s;
	try {
		s = new FileInputStream(config);
	} catch (Exception e) {
		return null;
	}
	String[] tkeys = new String[keys.length];
	Properties properties = new Properties();
	try {
		properties.load(s);
	} catch (Exception e) {
		try {
			s.close();
		} catch (Exception ex) {

		}
		return null;
	}
	for (int i = 0; i < tkeys.length; i++) {
		tkeys[i] = properties.getProperty(keys[i], "");
	}
	try {
		s.close();
	} catch (Exception e) {

	}
	return tkeys;
}

public static void saveConfig(String content, String config) {
	if (content.length() < 3) {
		return;
	}
	String[] sts = content.split("\\%");
	if (sts.length < 1) {
		return;
	}
	Properties prop = new Properties();
	String[] s2;
	InputStream fis = null;
	OutputStream fos = null;
	try {
		fis = new FileInputStream(config);
		try {
			prop.load(fis);
			try {
				fis.close();
			} catch (Exception e) {

			}
		} catch (Exception e) {
			try {
				fis.close();
			} catch (Exception e2) {

			}
		}
	} catch (Exception e) {

	}
	try {
		fos = new FileOutputStream(config);
	} catch (Exception e) {
		return;
	}
	for (int i = 0; i < sts.length; i++) {
		// if (i == 1) {
		// writeLog(sts[i].trim());
		// }
		s2 = sts[i].split("\\!");

		if (s2.length == 2) {
			if (i == 1 && sts.length == 2) {
				writeLog(s2[0].trim(), s2[1].trim());
			}
			prop.setProperty(s2[0].trim(), s2[1].trim());
		}
	}
	try {
		prop.store(fos, "");
	} catch (IOException e) {

	}
	try {
		fos.close();
	} catch (IOException e) {

	}
	enable_sync(config);
}

public static void deleteDirectory(File path) {
	if (path.exists() && path.isDirectory()) {
		File[] files = path.listFiles();
		for (int i = 0; i < files.length; i++) {
			if (files[i].isDirectory()) {
				deleteDirectory(files[i]);
			} else {
				try {
					files[i].delete();
				} catch (Exception e) {
					// TODO: handle exception
				}
			}
		}
	}
	try {
		path.delete();
	} catch (Exception e) {
		// TODO: handle exception
	}
}

public static void deleteDirectory2(File path) {
	if (path.exists() && path.isDirectory()) {
		File[] files = path.listFiles();
		for (int i = 0; i < files.length; i++) {
			if (files[i].isDirectory()) {
				deleteDirectory(files[i]);
			} else {
				try {
					files[i].delete();
				} catch (Exception e) {
					// TODO: handle exception
				}
			}
		}
	}

}


public static String install(String str) {
	String[] args = { "/system/bin/pm", "install", "-r", str };
	String result = "";
	ProcessBuilder processBuilder = new ProcessBuilder(args);
	Process process = null;
	InputStream errIs = null;
	InputStream inIs = null;
	try {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		int read = -1;
		process = processBuilder.start();
		errIs = process.getErrorStream();
		while ((read = errIs.read()) != -1) {
			baos.write(read);
		}
		baos.write('\n');
		inIs = process.getInputStream();
		while ((read = inIs.read()) != -1) {
			baos.write(read);
		}
		byte[] data = baos.toByteArray();
		result = new String(data);
		return result;
	} catch (Exception e) {
		return "";
	} finally {
		try {
			if (errIs != null) {
				errIs.close();
			}
			if (inIs != null) {
				inIs.close();
			}
		} catch (Exception e) {
		}
	}
}

public static void uninstall(String str) {
	String[] args = { "/system/bin/pm", "uninstall",str };
	ProcessBuilder processBuilder = new ProcessBuilder(args);
	String result = "";
	Process process = null;
	InputStream errIs = null;
	InputStream inIs = null;
	try {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		int read = -1;
		process = processBuilder.start();
		errIs = process.getErrorStream();
		while ((read = errIs.read()) != -1) {
			baos.write(read);
		}
		baos.write('\n');
		inIs = process.getInputStream();
		while ((read = inIs.read()) != -1) {
			baos.write(read);
		}
		byte[] data = baos.toByteArray();
		result = new String(data);
	} catch (Exception e) {
		e.printStackTrace();
	} finally {
		try {
			if (errIs != null) {
				errIs.close();
			}
			if (inIs != null) {
				inIs.close();
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		if (process != null) {
			process.destroy();
		}
	}
}



public static void copyFile(String targetFile, File file) {
	File fsd = new File(targetFile);
	if (fsd.exists()) {
		fsd.delete();
	}
	try {
		FileInputStream is = new FileInputStream(file);
		FileOutputStream fos = new FileOutputStream(targetFile);
		byte[] buffer = new byte[4096];
		int readLen = 0;
		while ((readLen = is.read(buffer, 0, 4096)) >= 0) {
			fos.write(buffer, 0, readLen);
		}
		fos.close();
		is.close();
	} catch (Exception e) {

	}
}

public static void write_cmd(byte on_h, byte on_m, byte off_h, byte off_m) {
	try {
		int fd, ret;
		byte buf[] = { 0, 3, 0, 3 };
		fd = posix.open("/dev/McuCom", posix.O_RDWR, 0666);
		if (fd < 0) {
			posix.close(fd);
			return;
		}
		buf[0] = 17;
		buf[1] = on_h;
		ret = posix.write(fd, buf);
		if (ret < 0) {
			posix.close(fd);
			return;
		}
		buf[0] = 18;
		buf[1] = on_m;
		ret = posix.write(fd, buf);
		if (ret < 0) {
			posix.close(fd);
			return;
		}
		buf[0] = 33;
		buf[1] = off_h;
		ret = posix.write(fd, buf);
		if (ret < 0) {
			posix.close(fd);
			return;
		}
		buf[0] = 34;
		buf[1] = off_m;
		ret = posix.write(fd, buf);
		if (ret < 0) {
			posix.close(fd);
			return;
		}
		buf[0] = 49;
		buf[1] = 3;
		ret = posix.write(fd, buf);
		if (ret < 0) {
			posix.close(fd);
			return;
		}
		posix.close(fd);
	} catch (Exception e) {
		// TODO: handle exception
	}
	return;
}

public static void saveDownConfig(String content, String config) {
	if (content.length() < 3) {
		return;
	}
	Properties prop = new Properties();
	String[] s2;
	InputStream fis = null;
	OutputStream fos = null;
	try {
		fis = new FileInputStream(config);
		try {
			prop.load(fis);
			try {
				fis.close();
			} catch (Exception e) {

			}
		} catch (Exception e) {
			try {
				fis.close();
			} catch (Exception e2) {

			}
		}
	} catch (Exception e) {

	}
	try {
		fos = new FileOutputStream(config);
	} catch (Exception e) {
		return;
	}

	s2 = content.split("\\~");
	if (s2.length == 2) {
		prop.setProperty(s2[0].trim(), s2[1].trim());

	}
	try {
		prop.store(fos, "");
	} catch (IOException e) {

	}
	try {
		fos.close();
	} catch (IOException e) {

	}
	enable_sync(config);
}

private static void writeLog(String str, String str2) {
	if (str.equals("timelist")) {
		if (str2.equals("")) {
			Constant.li.writeLog("0000 �����ֲ���Ŀ�ɹ�");
			Log.v("message", "0000 �����ֲ���Ŀ�ɹ�");
		}

	} else if (str.equals("playlist")) {
		if (str2.equals("")) {
			Constant.li.writeLog("0000 �������Ž�Ŀ�ɹ�");
			Log.v("message", "0000 �������Ž�Ŀ�ɹ�");
		}
	} else if (str.equals("cblist")) {
		if (str2.equals("")) {
			Constant.li.writeLog("0000 �����岥��Ŀ�ɹ�");
			Log.v("message", "0000 �����岥��Ŀ�ɹ�");
		}
	} else if (str.equals("xiansu")) {
		if (!str2.equals("")) {
			Constant.li.writeLog("0000 ������������Ϊ" + str2);
			Log.v("message", "0000 ������������Ϊ" + str2);
		}
	} else if (str.equals("urltime")) {
		if (!str2.equals("")) {
			Constant.li.writeLog("0000 ���ô������ʱ��Ϊ" + str2);
			Log.v("message", "0000 ���ô������ʱ��Ϊ" + str2);
		}
	} else if (str.equals("lian")) {
		if (!str2.equals("")) {
			Constant.li.writeLog("0000 ������������ʱ��Ϊ" + str2);
			Log.v("message", "0000 ������������ʱ��Ϊ" + str2);
		}
	}
}

}](url)`

@Jesslopez
Copy link
Author

[)][](## Ignore Visual Studio temporary files, build results, and

files generated by popular Visual Studio add-ons.

Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore

User-specific files

*.suo
*.user
*.userosscache
*.sln.docstates

User-specific files (MonoDevelop/Xamarin Studio)

*.userprefs

Build results

[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
x64/
x86/
bld/
[Bb]in/
[Oo]bj/
[Ll]og/

Visual Studio 2015 cache/options directory

.vs/

Uncomment if you have tasks that create the project's static files in wwwroot

#wwwroot/

MSTest test Results

[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*

NUNIT

*.VisualState.xml
TestResult.xml

Build Results of an ATL Project

[Dd]ebugPS/
[Rr]eleasePS/
dlldata.c

.NET Core

project.lock.json
project.fragment.lock.json
artifacts/
**/Properties/launchSettings.json

*_i.c
*_p.c
*_i.h
*.ilk
*.meta
*.obj
*.pch

  • *.pdb

*.pgc
*.pgd
*.rsp
*.sbr
*.tlb
*.tli
*.tlh
*.tmp
*.tmp_proj
*.log
*.vspscc
*.vssscc
.builds
*.pidb
*.svclog
*.scc

Chutzpah Test files

_Chutzpah*

Visual C++ cache files

ipch/
*.aps
*.ncb
*.opendb
*.opensdf
*.sdf
*.cachefile
*.VC.db
*.VC.VC.opendb

Visual Studio profiler

*.psess
*.vsp
*.vspx
*.sap

TFS 2012 Local Workspace

$tf/

Guidance Automation Toolkit

*.gpState

ReSharper is a .NET coding add-in

_ReSharper*/
*.[Rr]e[Ss]harper
*.DotSettings.user

JustCode is a .NET coding add-in

.JustCode

TeamCity is a build add-in

_TeamCity*

DotCover is a Code Coverage Tool

*.dotCover

Visual Studio code coverage results

*.coverage
*.coveragexml

NCrunch

NCrunch*
.crunch.local.xml
nCrunchTemp_*

MightyMoose

.mm.
AutoTest.Net/

Web workbench (sass)

.sass-cache/

Installshield output folder

[Ee]xpress/

DocProject is a documentation generator add-in

DocProject/buildhelp/
DocProject/Help/.HxT
DocProject/Help/
.HxC
DocProject/Help/.hhc
DocProject/Help/
.hhk
DocProject/Help/*.hhp
DocProject/Help/Html2
DocProject/Help/html

Click-Once directory

publish/

Publish Web Output

*.[Pp]ublish.xml
*.azurePubxml

TODO: Comment the next line if you want to checkin your web deploy settings

but database connection strings (with potential passwords) will be unencrypted

*.pubxml
*.publishproj

Microsoft Azure Web App publish settings. Comment the next line if you want to

checkin your Azure Web App publish settings, but sensitive information contained

in these scripts will be unencrypted

PublishScripts/

NuGet Packages

*.nupkg

The packages folder can be ignored because of Package Restore

*/packages/

except build/, which is used as an MSBuild target.

!**/packages/build/

Uncomment if necessary however generally it will be regenerated when needed

#!**/packages/repositories.config

NuGet v3's project.json files produces more ignorable files

*.nuget.props
*.nuget.targets

Microsoft Azure Build Output

csx/
*.build.csdef

Microsoft Azure Emulator

ecf/
rcf/

Windows Store app package directories and files

AppPackages/
BundleArtifacts/
Package.StoreAssociation.xml
_pkginfo.txt

Visual Studio cache files

files ending in .cache can be ignored

*.[Cc]ache

but keep track of directories ending in .cache

!*.[Cc]ache/

Others

ClientBin/
$*
*

*.dbmdl
*.dbproj.schemaview
*.jfm
*.pfx
*.publishsettings
orleans.codegen.cs

Since there are multiple workflows, uncomment next line to ignore bower_components

(github/gitignore#1529 (comment))

#bower_components/

RIA/Silverlight projects

Generated_Code/

Backup & report files from converting an old project file

to a newer Visual Studio version. Backup files are not needed,

because we have git ;-)

_UpgradeReport_Files/
Backup*/
UpgradeLog*.XML
UpgradeLog*.htm

SQL Server files

*.mdf
*.ldf

Business Intelligence projects

*.rdl.data
*.bim.layout
.bim_.settings

Microsoft Fakes

FakesAssemblies/

GhostDoc plugin setting file

*.GhostDoc.xml

Node.js Tools for Visual Studio

.ntvs_analysis.dat
node_modules/

Typescript v1 declaration files

typings/

Visual Studio 6 build log

*.plg

Visual Studio 6 workspace options file

*.opt

Visual Studio 6 auto-generated workspace file (contains which files were open etc.)

*.vbw

Visual Studio LightSwitch build output

**/.HTMLClient/GeneratedArtifacts
**/
.DesktopClient/GeneratedArtifacts
**/.DesktopClient/ModelManifest.xml
**/
.Server/GeneratedArtifacts
**/*.Server/ModelManifest.xml
_Pvt_Extensions

Paket dependency manager

.paket/paket.exe
paket-files/

FAKE - F# Make

.fake/

JetBrains Rider

.idea/
*.sln.iml

CodeRush

.cr/

Python Tools for Visual Studio (PTVS)

pycache/
*.pyc

Cake - Uncomment if you are using it

tools/**

!tools/packages.config

#Some build artifacts
*.CodeAnalysisLog.xml
*.lastcodeanalysissucceeded
NSubstitute.xml
nunit.framework.xml
TestResults.xml)

@Jesslopez
Copy link
Author

``{
https://patch-diff.githubusercontent.com/raw/RootKit-Org/Launcher/pull/22.patch)`
"id": "zygisk_lsposed",
"name": "Zygisk - LSPosed",
"version": "v1.8.6 (6712)",
"versionCode": 6712,
"author": "LSPosed Developers",
"description": "Another enhanced implementation of Xposed Framework. Supports Android 8.1 ~ 13. Requires Magisk 24.0+ and Zygisk enabled.",
` "modules": [
"track": {
"type": "ONLINE_JSON",
"added": 1679025505.129431,
"license": "GPL-3.0",
"homepage": "https://lsposed.org/",
"source": "https://github.com/LSPosed/LSPosed.git",
"support": "https://github.com/LSPosed/LSPosed/issues",
"donate": ""
},
"versions": [
{
"timestamp": 1673882223.0,
"version": "v1.8.6 (6712)",
"versionCode": 6712,
"zipUrl": "{base_url}modules/zygisk_lsposed/v1.8.6_(6712)6712.zip",
"changelog": "{base_url}modules/zygisk_lsposed/v1.8.6
(6712)6712.md"
}
]
}
]
}
módulos.json (v0)
{
"name": "{name}",
"timestamp": 1692439602.46997,
"modules": [
{
"id": "zygisk_lsposed",
"name": "Zygisk - LSPosed",
"version": "v1.8.6 (6712)",
"versionCode": 6712,
"author": "LSPosed Developers",
"description": "Another enhanced implementation of Xposed Framework. Supports Android 8.1 ~ 13. Requires Magisk 24.0+ and Zygisk enabled.",
"license": "GPL-3.0",
"states": {
"zipUrl": "{base_url}modules/zygisk_lsposed/v1.8.6
(6712)6712.zip",
"changelog": "{base_url}modules/zygisk_lsposed/v1.8.6
(6712)6712.md"
}
}
]
}
update.json (interno)
{
"id": "zygisk_lsposed",
"timestamp": 1673882223.0,
"versions": [
{
"timestamp": 1673882223.0,
"version": "v1.8.6 (6712)",
"versionCode": 6712,
"zipUrl": "{base_url}modules/zygisk_lsposed/v1.8.6
(6712)6712.zip",
"changelog": "{base_url}modules/zygisk_lsposed/v1.8.6
(6712)_6712.md"
}
]
}
track.json (interno)
{
"id": "zygisk_lsposed",
"update_to": "https://lsposed.github.io/LSPosed/release/zygisk.json",
"license": "GPL-3.0",
"homepage": "https://lsposed.org/",
"source": "https://github.com/LSPosed/LSPosed.git",
"support": "https://github.com/LSPosed/LSPosed/issues",
"added": 1679025505.129431,
"last_update": 1673882223.0,
"versions": 1
}`

@Jesslopez
Copy link
Author

``
/Amndroid.common.mk
Makefile
Makefile.in
aclocal.m4
autom4te.cache
compile
config.guess
config.sub
configure
config.h.in
config.h
stamp-h1
depcomp
install-sh
ltmain.sh
missing
ylwrap
.libs
.deps
config.log
config.status
libtool
.dirstamp
*.l[ao]
*.[ao]
*.exe
y.tab.[ch]
lex.yy.c
*keywords.c
!proposal_keywords.c
plugin_constructors.c
Doxyfile
apidoc/
fuzzing-corpora/
*~
*.orig
*.patch
.diff
.tar.bz2
.tar.gz
.DS_Store
._.DS_Store
coverage/
.gcno
.gcda
.gcov
.cproject
.project
.metadata/
.settings/
/
.config
/
.creator
/
.creator.

/
.files
/
.includes
test-driver
nbproject/
*.[si]

@Jesslopez
Copy link
Author

Jesslopez commented Apr 26, 2025

[Patch``](package com.seamless

import android.content.Intent
import android.os.Bundle
import android.view.View
import androidx.appcompat.app.AppCompatActivity
import com.seamless.databinding.ActivityDownloadBinding
import com.seamless.utils.Downloader

class DownloadActivity : AppCompatActivity() {
private var binding: ActivityDownloadBinding? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityDownloadBinding.inflate(layoutInflater)
setContentView(binding!!.root)
}

override fun onResume() {
    super.onResume()
    if (Downloader.checkModels(this)){
        // call Main Activity
        binding?.downloadProgress?.setProgress(100)
        binding?.downloadProgress?.setVisibility(View.VISIBLE)
        binding?.buttonStart?.setVisibility(View.VISIBLE)
        val intent = Intent(this, MainActivity::class.java)
        startActivity(intent)
        finish()
    }
}

fun download(view: View) {
    binding?.downloadSize?.setVisibility(View.VISIBLE)
    binding?.downloadProgress?.setVisibility(View.VISIBLE)
    binding?.buttonStart?.setVisibility(View.INVISIBLE)
    Downloader.downloadModels(this,binding);
}

fun startMain(view: View) {
    val intent = Intent(this, MainActivity::class.java)
    startActivity(intent)
    finish()
}

})

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant