Skip to content

Commit c75b760

Browse files
committed
Removed ios part
1 parent 217bc46 commit c75b760

File tree

77 files changed

+117
-3705
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+117
-3705
lines changed

.yarnrc.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ nodeLinker: node-modules
22
nmHoistingLimits: workspaces
33

44
plugins:
5-
- path: scripts/pod-install.cjs
65
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
76
spec: "@yarnpkg/plugin-interactive-tools"
87
- path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.cjs

android/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def supportsNamespace() {
4444

4545
android {
4646
if (supportsNamespace()) {
47-
namespace "com.usagestatsmanager"
47+
namespace "io.justdice.usagestats"
4848

4949
sourceSets {
5050
main {

android/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
2-
package="com.usagestatsmanager">
2+
package="io.justdice.usagestats">
33
</manifest>

android/src/main/java/com/usagestatsmanager/UsageStatsManagerModule.kt renamed to android/src/main/java/io/justdice/usagestats/UsageStatsManagerModule.kt

Lines changed: 28 additions & 123 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.usagestatsmanager
1+
package io.justdice.usagestats
22

33
import android.annotation.TargetApi
44
import android.app.AppOpsManager
@@ -28,15 +28,16 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule
2828
import com.facebook.react.bridge.ReactMethod
2929
import com.facebook.react.bridge.WritableMap
3030
import com.facebook.react.bridge.WritableNativeMap
31+
import com.facebook.react.bridge.WritableNativeArray
3132
import com.facebook.react.common.MapBuilder
32-
import com.usagestatsmanager.model.AppData
33-
import com.usagestatsmanager.utils.SortOrder
34-
import com.usagestatsmanager.utils.UsageUtils
35-
import com.usagestatsmanager.utils.UsageUtils.getAppUid
36-
import com.usagestatsmanager.utils.UsageUtils.getTimeRange
37-
import com.usagestatsmanager.utils.UsageUtils.humanReadableMillis
38-
import com.usagestatsmanager.utils.UsageUtils.isSystemApp
39-
import com.usagestatsmanager.utils.UsageUtils.parsePackageName
33+
import io.justdice.usagestats.model.AppData
34+
import io.justdice.usagestats.utils.SortOrder
35+
import io.justdice.usagestats.utils.UsageUtils
36+
import io.justdice.usagestats.utils.UsageUtils.getAppUid
37+
import io.justdice.usagestats.utils.UsageUtils.getTimeRange
38+
import io.justdice.usagestats.utils.UsageUtils.humanReadableMillis
39+
import io.justdice.usagestats.utils.UsageUtils.isSystemApp
40+
import io.justdice.usagestats.utils.UsageUtils.parsePackageName
4041

4142

4243
class UsageStatsManagerModule(reactContext: ReactApplicationContext) :
@@ -169,133 +170,37 @@ class UsageStatsManagerModule(reactContext: ReactApplicationContext) :
169170
return writableMap
170171
}
171172

173+
private fun containItem(items: List<AppData>, packageName: String): AppData? {
174+
for (item in items) {
175+
if (item.mPackageName == packageName) return item
176+
}
177+
return null
178+
}
179+
172180
@ReactMethod
173181
fun queryEvents(startTime: Double, endTime: Double, promise: Promise) {
174-
// val result: WritableMap = WritableNativeMap()
175-
val items: MutableList<AppData> = mutableListOf<AppData>()
176-
val newList: MutableList<AppData> = mutableListOf()
182+
val result = WritableNativeArray()
183+
177184
val manager: UsageStatsManager =
178185
reactContext?.getSystemService(Context.USAGE_STATS_SERVICE) as UsageStatsManager
179186

180-
// val events: UsageEvents = manager.queryEvents(startTime.toLong(), endTime.toLong())
181-
var prevPackage: String? = ""
182-
val startPoints: MutableMap<String, Long> = mutableMapOf()
183-
val endPoints: MutableMap<String, ClonedEvent> = mutableMapOf()
184-
185-
val sortEnum: SortOrder = SortOrder.getSortEnum(0)
186-
val range = getTimeRange(sortEnum)
187-
188-
// val events: UsageEvents = if (sortEnum.name.equals("MONTH", ignoreCase = true)) {
189-
// manager.queryEvents(UsageStatsManager.INTERVAL_DAILY.toLong(), range[1])
190-
// } else {
191-
// manager.queryEvents(range[0], range[1])
192-
// }
193187
val events: UsageEvents = manager.queryEvents(startTime.toLong(), endTime.toLong())
194-
195188
val event = UsageEvents.Event()
196-
while (events.hasNextEvent()) {
197-
events.getNextEvent(event);
198-
199-
val eventType: Int = event.eventType
200-
val eventTime: Long = event.timeStamp
201-
val eventPackage: String = event.packageName
202-
203-
if (eventType === UsageEvents.Event.MOVE_TO_FOREGROUND) {
204-
var item: AppData? = containItem(items, eventPackage)
205-
if (item == null) {
206-
item = AppData()
207-
item.mPackageName = eventPackage
208-
items.add(item)
209-
}
210-
if (!startPoints.containsKey(eventPackage)) {
211-
startPoints.put(eventPackage, eventTime)
212-
}
213-
}
214-
215-
if (eventType == UsageEvents.Event.MOVE_TO_BACKGROUND) {
216-
if (startPoints.isNotEmpty() && startPoints.containsKey(eventPackage)) {
217-
endPoints[eventPackage] = ClonedEvent(event);
218-
}
219-
}
220-
221-
if (TextUtils.isEmpty(prevPackage)) prevPackage = eventPackage;
222-
if (!prevPackage.equals(eventPackage)) {
223-
if (startPoints.containsKey(prevPackage) && endPoints.containsKey(prevPackage)) {
224-
val lastEndEvent = endPoints[prevPackage]
225-
val listItem = containItem(items, prevPackage!!)
226-
if (listItem != null) { // update list item info
227-
listItem.mEventTime = lastEndEvent!!.timeStamp
228-
var duration = lastEndEvent!!.timeStamp - startPoints[prevPackage]!!
229-
if (duration <= 0) duration = 0
230-
listItem.mUsageTime += duration
231-
if (duration > UsageUtils.USAGE_TIME_MIX) {
232-
listItem.mCount++
233-
}
234-
}
235-
startPoints.remove(prevPackage)
236-
endPoints.remove(prevPackage)
237-
}
238-
prevPackage = eventPackage
239-
}
240-
}
241-
242-
if (items.size > 0) {
243-
var canCalculateDataUsage: Boolean = false
244-
245-
var mobileData: MutableMap<String?, Long?> = HashMap()
246-
var wifiData: Map<String?, Long?>? = HashMap()
247-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
248-
canCalculateDataUsage = true
249-
val networkStatsManager = reactContext.getSystemService(Context.NETWORK_STATS_SERVICE)
250-
val telephonyManager = reactContext.getSystemService(Context.TELEPHONY_SERVICE)
251-
// mobileData = getMobileData(context, telephonyManager, networkStatsManager, offset)
252-
// wifiData = getWifiUsageData(context, telephonyManager, networkStatsManager, offset)
253-
} else {
254-
mobileData["mobile"] = TrafficStats.getMobileRxBytes() + TrafficStats.getMobileTxBytes()
255-
}
256-
257189

258-
val hideSystem = true
259-
val hideUninstall = true
260-
val packageManager: PackageManager = reactContext.packageManager
190+
while (events.hasNextEvent()) {
191+
events.getNextEvent(event)
261192

262-
for (item in items) {
263-
// if (!openable(packageManager, item.mPackageName!!)) {
264-
// continue
265-
// }
266-
if (hideSystem && isSystemApp(packageManager, item.mPackageName!!)) {
267-
continue
268-
}
269-
// if (hideUninstall && !isInstalled(packageManager, item.mPackageName!!)) {
270-
// continue
271-
// }
272-
if (canCalculateDataUsage) {
273-
val key = "u" + getAppUid(packageManager, item.mPackageName!!)
274-
// if (mobileData.size() > 0 && mobileData.containsKey(key)) {
275-
// item.mMobile = mobileData.get(key)
276-
// }
277-
// if (wifiData.size() > 0 && wifiData.containsKey(key)) {
278-
// item.mWifi = wifiData.get(key)
279-
// }
280-
}
281-
item.mName = parsePackageName(packageManager, item.mPackageName!!).toString()
282-
newList.add(item)
283-
}
193+
val _event: WritableMap = WritableNativeMap()
194+
_event.putInt("eventType", event.eventType)
195+
_event.putDouble("timeStamp", event.timeStamp.toDouble())
196+
_event.putString("packageName", event.packageName)
284197

285-
newList.sortWith(Comparator { left: AppData, right: AppData -> (right.mUsageTime - left.mUsageTime).toInt() })
198+
result.pushMap(_event)
286199
}
287-
promise.resolve(writeToWritableMap(newList))
288-
}
289200

290-
private fun containItem(items: List<AppData>, packageName: String): AppData? {
291-
for (item in items) {
292-
if (item.mPackageName == packageName) return item
293-
}
294-
return null
201+
promise.resolve(result)
295202
}
296203

297-
298-
299204
@RequiresApi(Build.VERSION_CODES.P)
300205
@ReactMethod
301206
fun queryEventsStats(interval: Int, startTime: Double, endTime: Double, promise: Promise) {
@@ -482,7 +387,7 @@ class UsageStatsManagerModule(reactContext: ReactApplicationContext) :
482387
}
483388

484389
companion object {
485-
const val NAME = "UsageStatsManager"
390+
const val NAME = "JustDiceReactNativeUsageStats"
486391
}
487392
}
488393

android/src/main/java/com/usagestatsmanager/UsageStatsManagerPackage.kt renamed to android/src/main/java/io/justdice/usagestats/UsageStatsManagerPackage.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.usagestatsmanager
1+
package io.justdice.usagestats
22

33
import com.facebook.react.ReactPackage
44
import com.facebook.react.bridge.NativeModule

android/src/main/java/com/usagestatsmanager/models/AppData.kt renamed to android/src/main/java/io/justdice/usagestats/models/AppData.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.usagestatsmanager.model
1+
package io.justdice.usagestats.model
22

33
import android.os.Parcel
44
import android.os.Parcelable

android/src/main/java/com/usagestatsmanager/utils/SortOrder.kt renamed to android/src/main/java/io/justdice/usagestats/utils/SortOrder.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.usagestatsmanager.utils
1+
package io.justdice.usagestats.utils
22

33
/**
44
* Created by BarryAllen

android/src/main/java/com/usagestatsmanager/utils/UsageUtils.kt renamed to android/src/main/java/io/justdice/usagestats/utils/UsageUtils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.usagestatsmanager.utils
1+
package io.justdice.usagestats.utils
22

33
import android.content.Context
44
import android.content.pm.ApplicationInfo

example/.bundle/config

Lines changed: 0 additions & 2 deletions
This file was deleted.

example/.watchmanconfig

Lines changed: 0 additions & 1 deletion
This file was deleted.

example/Gemfile

Lines changed: 0 additions & 7 deletions
This file was deleted.

example/README.md

Lines changed: 0 additions & 79 deletions
This file was deleted.

0 commit comments

Comments
 (0)