上传文件至 /
This commit is contained in:
1 parent
0df43f8edf
commit
6eba1d340f
3 files changed
+272
No files matched your search
@@ -0,0 +1,178 @@
|
||||
// 等待获取无障碍权限
|
||||
auto.waitFor()
|
||||
|
||||
TrafficStats = android.net.TrafficStats;
|
||||
importClass(android.graphics.Paint);
|
||||
Canvas = android.graphics.Canvas;
|
||||
importClass(android.graphics.Bitmap);
|
||||
|
||||
function textpaint(str) {
|
||||
str = str.split("\n");
|
||||
var bitmap = Bitmap.createBitmap(200, 110, Bitmap.Config.ARGB_8888);
|
||||
|
||||
var canvas = new Canvas(bitmap);
|
||||
//background-color
|
||||
//(Alpha,Red,Green,Blue)
|
||||
canvas.drawARGB(255, 255, 0, 0);
|
||||
var paint = new Paint();
|
||||
|
||||
//圆盘背景???
|
||||
paint.setARGB(255, 0, 255, 0); //白色画笔
|
||||
paint.setStyle(Paint.Style.FILL); //空心样式
|
||||
paint.setFilterBitmap(true); //抗锯齿
|
||||
paint.setFakeBoldText(true); //加粗
|
||||
paint.setHinting(16); //字体微调
|
||||
paint.setTextSize(22);
|
||||
for (i = 0; i < str.length; i++) {
|
||||
// paint.setARGB(255, random(0, 255), random(0, 255), random(0, 255)); //眼睛快瞎了
|
||||
canvas.drawText(str[i], 0, (i + 1) * 25, paint);
|
||||
}
|
||||
// canvas.drawText(str, 0, (i + 1) * 25, paint);
|
||||
|
||||
canvas.save(Canvas.ALL_SAVE_FLAG);
|
||||
canvas.restore();
|
||||
|
||||
return bitmap;
|
||||
}
|
||||
|
||||
|
||||
var window = floaty.window(
|
||||
<frame>
|
||||
<vertical>
|
||||
/*circle="true",两端裁剪为circle,其他圆角风格可以参考https://easydoc.net/doc/84873548/LvEnNZ0d/DuI3kIia */
|
||||
<img id="img" w="auto" h="auto"/>
|
||||
</vertical>
|
||||
</frame>
|
||||
);
|
||||
|
||||
var x = 0,
|
||||
y = 0;
|
||||
//记录按键被按下时的悬浮窗位置
|
||||
var windowX, windowY;
|
||||
//记录按键被按下的时间以便判断长按等动作 疑似有点幽默了
|
||||
var downTime;
|
||||
window.img.setOnTouchListener(function (view, event) {
|
||||
switch (event.getAction()) {
|
||||
//手指落下
|
||||
case event.ACTION_DOWN:
|
||||
x = event.getRawX();
|
||||
y = event.getRawY();
|
||||
windowX = window.getX();
|
||||
windowY = window.getY();
|
||||
downTime = new Date().getTime();
|
||||
return true;
|
||||
//移动
|
||||
case event.ACTION_MOVE:
|
||||
//移动手指时调整悬浮窗位置
|
||||
window.setPosition(windowX + (event.getRawX() - x), windowY + (event.getRawY() - y));
|
||||
return true;
|
||||
//抬起
|
||||
case event.ACTION_UP:
|
||||
//手指弹起时如果偏移很小则判断为点击
|
||||
if (Math.abs(event.getRawY() - y) < 5 && Math.abs(event.getRawX() - x) < 5) {
|
||||
threads.start(function () {
|
||||
onClick();
|
||||
});
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
});
|
||||
|
||||
function onClick(){
|
||||
// var str = prompt('kxnmsl')
|
||||
toast('有病')
|
||||
exit()
|
||||
}
|
||||
|
||||
//nmsl
|
||||
str = "";
|
||||
zss = ozs();
|
||||
zxs = ozx();
|
||||
|
||||
swsl = 0;
|
||||
swxl = 0;
|
||||
zwss = 0;
|
||||
zwxs = 0;
|
||||
threads.start(function () {
|
||||
swsl = ozs();
|
||||
swxl = ozx();
|
||||
while (true) {
|
||||
sleep(1000);
|
||||
xwsl = ozs();
|
||||
xwxl = ozx();
|
||||
zwss = xwsl - swsl;
|
||||
zwxs = xwxl - swxl;
|
||||
swsl = xwsl;
|
||||
swxl = xwxl;
|
||||
}
|
||||
});
|
||||
//log(Object.keys(TrafficStats));
|
||||
|
||||
threads.start(function () {
|
||||
while (true) {
|
||||
str = "流量↑:" + sz(lzs()) + "\n流量↓:" + sz(lzx()) + "\n网速↑:" + sz(zwss) + "/s" + "\n网速↓:" + sz(zwxs) + "/s";
|
||||
tu = textpaint(str);
|
||||
ui.run(function () {
|
||||
window.img.setImageBitmap(tu);
|
||||
});
|
||||
sleep(1000);
|
||||
}
|
||||
});
|
||||
|
||||
function ozs() {
|
||||
return TrafficStats.getTotalTxBytes();
|
||||
}
|
||||
|
||||
function ozx() {
|
||||
return TrafficStats.getTotalRxBytes();
|
||||
}
|
||||
|
||||
function lzs() {
|
||||
return ozs() - zss;
|
||||
}
|
||||
|
||||
function lzx() {
|
||||
return ozx() - zxs;
|
||||
}
|
||||
|
||||
//你家天河二号?
|
||||
function sz(num) {
|
||||
if (num < 1024) {
|
||||
return num.toFixed(2) + "by";
|
||||
} else {
|
||||
num /= 1024;
|
||||
}
|
||||
if (num < 1024) {
|
||||
return num.toFixed(2) + "Kb";
|
||||
} else {
|
||||
num /= 1024;
|
||||
}
|
||||
if (num < 1024) {
|
||||
return num.toFixed(2) + "Mb";
|
||||
} else {
|
||||
num /= 1024;
|
||||
}
|
||||
if (num < 1024) {
|
||||
return num.toFixed(2) + "Gb";
|
||||
} else {
|
||||
num /= 1024;
|
||||
}
|
||||
if (num < 1024) {
|
||||
return num.toFixed(2) + "Tb";
|
||||
} else {
|
||||
num /= 1024;
|
||||
}
|
||||
if (num < 1024) {
|
||||
return num.toFixed(2) + "Pb";
|
||||
} else {
|
||||
num /= 1024;
|
||||
}
|
||||
return num.toFixed(2) + "Eb";
|
||||
}
|
||||
|
||||
log(TrafficStats.getTotalRxBytes());
|
||||
|
||||
while (true) {
|
||||
sleep(1000);
|
||||
}
|
||||
Reference in new issue
Block a user