public class UsbStateReceiver extends BroadcastReceiver {
private static final String TAG = "UsbStateReceiver";
// Hidden Android API
private static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
private static final String EXTRA_ACTIVE_TETHER = "activeArray";
@Override
public void onReceive(Context context, Intent intent) {
if (!intent.getAction().equals(ACTION_TETHER_STATE_CHANGED)) return;
List<String> actives = intent.getStringArrayListExtra(EXTRA_ACTIVE_TETHER);
int boundActiveSize = actives.size();
NetworkStatsActivity.setTetheringEnabled(nbActives > 0);
}
private void openConnectionSharingSettings() {
Intent launchReq = new Intent();
launchReq.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY
| Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_FROM_BACKGROUND);
launchReq.setClassName("com.android.settings", "com.android.settings.TetherSettings");
startActivity(launch);
}
}
<receiver android:name=".UsbStateReceiver">
<intent-filter>
<action android:name="android.intent.action.USB_STATE" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED" />
</intent-filter>
<intent-filter>
<action android:name="android.net.conn.TETHER_STATE_CHANGED" />
</intent-filter>
</receiver>
METO 的涂鸦板
人类的本质是什么 https://github.com/Sodium-Aluminate/repeat-tutorial/network/members
补充一下,裸 JSON 数据在这里查,我正在准备写图算法找出嵌套最深的子树。
https://api.github.com/repos/Sodium-Aluminate/repeat-tutorial/forks
*再补充一下,API 文档这里
*再补充一下,Ruby + Pry 适合即时处理各种数据哦
*最后再补充一下,这是不可能的,因为这个 API 不给我完整的 fork 树,我得一个一个查询,然而每天最多查询 60 次... 人类的本质是大得可怕的所以只能从 HTML 里扒数据...
https://api.github.com/repos/Sodium-Aluminate/repeat-tutorial/forks
*再补充一下,API 文档这里
*再补充一下,Ruby + Pry 适合即时处理各种数据哦
*最后再补充一下,这是不可能的,因为这个 API 不给我完整的 fork 树,我得一个一个查询,然而每天最多查询 60 次... 人类的本质是大得可怕的所以只能从 HTML 里扒数据...
GitHub Docs
REST API endpoints for forks - GitHub Docs
Use the REST API to manage repository forks.
duangsuse::Echo
补充一下,裸 JSON 数据在这里查,我正在准备写图算法找出嵌套最深的子树。 https://api.github.com/repos/Sodium-Aluminate/repeat-tutorial/forks *再补充一下,API 文档这里 *再补充一下,Ruby + Pry 适合即时处理各种数据哦 *最后再补充一下,这是不可能的,因为这个 API 不给我完整的 fork 树,我得一个一个查询,然而每天最多查询 60 次... 人类的本质是大得可怕的所以只能从 HTML 里扒数据...
看 API 返回文档的时候我真的是服了 RESTFul API 的设计了,这是丝毫不考虑压缩数据,一大堆
*._url 本来可以直接利用这个版本 API 的约定得出来的东西 REST 全直接返回了... 有点像面向对象 virtual 方法一样食之无味弃之可惜
duangsuse::Echo
看 API 返回文档的时候我真的是服了 RESTFul API 的设计了,这是丝毫不考虑压缩数据,一大堆 *._url 本来可以直接利用这个版本 API 的约定得出来的东西 REST 全直接返回了... 有点像面向对象 virtual 方法一样食之无味弃之可惜
其实是我感觉和
virtual 方法(Jawa 厨不要以为自己没见过,你们天天都在用虚方法)(别找了,Java 里根本没有 virtual 关键字!)在某些方面感觉有点一样的性质,OO 大佬轻喷This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
#telegram 100 Members Thank U!
This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
现在正在查有没有对应的 GraphQL API
https://developer.github.com/v4/object/repository/#forks
A list of *direct* forked repositories.
DIRECT!!!!!!!! ... 看来 *Graph* GRAPH!!!! QL 它 TMD 也查不成 ....GitHub Developer
Repository
Get started with one of our guides, or jump straight into the API documentation.
https://github.com/Sodium-Aluminate/repeat-tutorial/network/members
这里,可以使用
难受的是它的结构是被「编译」成了「缩进」一样的格式... 和 Python 一样...
得手动解析缩进才能知道枝叶深度... 然后才能构建出对应的树... 都可以出成 OI 送分题(删除)了 2333 🙈
这里,可以使用
$('#network') CSS 选择器找到网络树图难受的是它的结构是被「编译」成了「缩进」一样的格式... 和 Python 一样...
得手动解析缩进才能知道枝叶深度... 然后才能构建出对应的树... 都可以出成 OI 送分题(删除)了 2333 🙈
GitHub
Forks · Sodium-Aluminate/repeat-tutorial
人类本质鉴定器. Contribute to Sodium-Aluminate/repeat-tutorial development by creating an account on GitHub.
duangsuse::Echo
https://github.com/Sodium-Aluminate/repeat-tutorial/network/members 这里,可以使用 $('#network') CSS 选择器找到网络树图 难受的是它的结构是被「编译」成了「缩进」一样的格式... 和 Python 一样... 得手动解析缩进才能知道枝叶深度... 然后才能构建出对应的树... 都可以出成 OI 送分题(删除)了 2333 🙈
都是这样的模式:
i.png 长得像这样:
l.png 长得像这样:
<div class="repo">
<img alt="" class="network-tree" src="https://assets-cdn.github.com/images/modules/network/i.png">
{{ repeat $depth }}
<img alt="" class="network-tree" src="https://assets-cdn.github.com/images/modules/network/b.png">
{{ end }}
<img alt="" class="network-tree" src="https://assets-cdn.github.com/images/modules/network/l.png">
<!-- end tree structure -->
<img class="gravatar" src="https://avatars0.githubusercontent.com/u/10570123?s=32&v=4" alt="@duangsuse" width="16" height="16">
<a href="/duangsuse">duangsuse</a>/<a href="/duangsuse/repeat-tutorial">repeat-tutorial</a>
</div>
i.png 长得像这样:
┊
b.png 长得像空白字符l.png 长得像这样:
└
t.png 长得像这样:┄
这种嵌套树形结构就是这么做...enum ImageType
Block, ChildBranch, Leaf, EndLeaf
def renderImage(type = ImageType::Block)
text = when type
is Block => "\t"
is ChildBranch => "┊"
is Leaf => "┄"
is Endleaf => "└"
return Html.text(text)
def renderRepositoryItem(name, nick, repo_name)
avatar = Html.img
class: 'gravatar'
src: getUserAvatar(User(name), 32, 4)
alt: "@$name"
width: 16
height: 16
return avatar << Html.a(name, { href: "/$name" }) << "/" << Html.a(repo_name, { href: "/$name/$repo_name" })
def renderTreeView(tree)
html = Html()
html << renderRepositoryItem(tree.name, tree.nick, tree.repo)
for (index, node) in tree.children.withIndex
if tree.isLastIndex?(index) break
html << renderImage(ImageType::ChildBranch) << renderNodeView(node, 1)
return html << renderImage(ImageType::EndLeaf) << renderNodeView(tree.children.last)
def renderNodeView(node, depth)This media is not supported in your browser
VIEW IN TELEGRAM
duangsuse::Echo
又把它提升到递归题的层次了... 我拿 Kotlin 写一下,然后写 Makefile 尝试不用 Gradle #Android 单靠 ABT(Android Build Tools)编译打包 #Kotlin Android SDK28 应用试试 def renderNodeView(node, depth):
学写 CMake 大概也不错吧... 比 Make 多了一个宏系统?
它连依赖关系都管理不好构建有依赖的包麻烦得要死...
它连依赖关系都管理不好构建有依赖的包麻烦得要死...