AI prompts
base on Android Lab FakeLocation Service(安卓7~15的虚拟定位服务) # Portal
[](https://app.fossa.com/projects/git%2Bgithub.com%2Ffuqiuluo%2FPortal?ref=badge_shield)
秋夜长,殊未央,月明白露澄清光,层城绮阁遥相望。
QQ交流群:599533037(搜索不到请扫描下方二维码)
Telegram: https://t.me/portal_fuqiuluo

The virtual positioning module based on LSPosed only provides Hook system services to achieve virtual positioning, and cannot be integrated into the APP.
The purpose of this application is to help developers debug the simulation tool of the location information program, and the application will automatically create features once it is installed and launched。
> [!note]
>
> 中文地区特供:
>
> 1. 本项目根据Apache 2.0许可证开放,可用于任何符合法律的目的,包括商业和非商业用途。我们特别鼓励将其用于学习和研究。使用者应遵守相关法律法规,禁止用于任何违法行为。
> 2. 根据Apache 2.0许可证,您可以自由修改、分发本代码及创建衍生作品,但需遵守以下条件:
> * 保留原始版权声明和附带的NOTICE文件
> * 提供Apache 2.0许可证副本
> * 说明您所做的重大修改
> 3. 使用者需承诺遵守相关法律法规,因使用本软件导致的任何后果由使用者自行承担,与本项目开发者无关。
> 4. 开发者保留在使用者违反Apache 2.0许可证条款时追究法律责任的权利。
# Warning
- 如发现任何人利用Portal进行违法活动,请收集证据并向有关部门举报。
- 使用者应遵守所有适用的法律法规。任何企业/组织/个人对因违法使用Portal而产生的后果需自行承担责任。
- Portal开发者对任何因使用本软件而导致的法律纠纷不承担责任。
- 若有企业/组织/个人因使用Portal遇到技术问题导致损失或业务中断,Portal开发团队将在合理范围内提供技术支持和协助。
- Portal开发团队保留对本软件技术实现细节的最终解释权。
## How to detect **Portal**?
- **Portal** will create a notification when it is running, and you can check the notification to see if **Portal** is running.
- **Portal** will add extra to the `Location`, you can check it to see if **Portal** is running.
```kotlin
if (location.extras == null) {
location.extras = Bundle()
}
location.extras?.putBoolean("portal.enable", true)
location.extras?.putBoolean("is_mock", true)
```
# Features
- [x] **Portal** will create a notification when it is running.
- [x] **Portal** will add extra to the `Location`.
- [x] **Portal** will mock in any case.
- [ ] **Portal** will mock the gps status.
- [ ] **Portal** will mock the cell info.
- [ ] **Portal** will mock the wifi info.
- [x] **Portal** will mock the sensor info.
- [x] **Portal** can move position by rocker.
- [x] **Portal** can set the speed in the settings.
- [x] **Portal** can set the altitude in the settings.
- [x] **Portal** can set the accuracy in the settings.
- [x] **Portal** will change the bearing when moving.
# Thanks
- [GoGoGo](https://github.com/ZCShou/GoGoGo)
- [Baidu Map SDK](https://lbsyun.baidu.com/faq/api?title=androidsdk)
## License
[](https://app.fossa.com/projects/git%2Bgithub.com%2Ffuqiuluo%2FPortal?ref=badge_large)
", Assign "at most 3 tags" to the expected json: {"id":"13520","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"