Skip to content

Commit

Permalink
- Auto stop option based on battery level added;
Browse files Browse the repository at this point in the history
- Storage usage option added + Clear cache option;
- Image overlay added;
- Widgets added (Basic, Full, WiFi share);
- Option to control token recycling added;
- Option to make video seekable added inside the video viewer;
- Table UI support added;
- Draw overlay now supports colors with alpha channel;
- Draw overlay now supports screenshots (draw only and/or screen);
- FFmpeg license changed from LGPL v3.0 to GPL v3.0;
- Bug fix;
- Minor UI changes.
  • Loading branch information
hms-douglas committed Dec 26, 2024
1 parent 6b08f5d commit 817a6de
Show file tree
Hide file tree
Showing 151 changed files with 5,807 additions and 1,079 deletions.
31 changes: 28 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Kapture - Screen recorder ![Static Badge](https://img.shields.io/badge/version-v1.2.0-green) [![Static Badge](https://img.shields.io/badge/license-Apache_2.0-orange.svg)](https://opensource.org/licenses/Apache-2.0) ![Static Badge](https://img.shields.io/badge/apk_size-114_MB-7C39E0)
# Kapture - Screen recorder ![Static Badge](https://img.shields.io/badge/version-v1.3.0-green) [![Static Badge](https://img.shields.io/badge/license-Apache_2.0-orange.svg)](https://opensource.org/licenses/Apache-2.0) ![Static Badge](https://img.shields.io/badge/apk_size-155_MB-7C39E0)
Change README language:
[![en](https://img.shields.io/badge/lang-en-blue.svg)](https://github.com/hms-douglas/kapture)
[![pt-br](https://img.shields.io/badge/lang-pt--br-blue.svg)](https://github.com/hms-douglas/kapture/blob/master/readme/pt_br/README.md)
Expand Down Expand Up @@ -43,6 +43,7 @@ Therefore I decided to build one on my own. I'm also sharing it here. You can do
<li>Camera (front, back / extra styles);</li>
<li>Text (extra styles);</li>
<li>Draw (extra styles).</li>
<li>Image.</li>
</ul>
</li>
<li>Generate extra video files:
Expand All @@ -61,6 +62,13 @@ Therefore I decided to build one on my own. I'm also sharing it here. You can do
</li>
<li>Notification shortcuts;</li>
<li>Quick tile shortcut;</li>
<li>Widgets:
<ul>
<li>Basic - Start/Stop;</li>
<li>Full - Start/Stop and Pause/Resume;</li>
<li>WiFi Share shortcut.</li>
</ul>
</li>
<li>Launcher static shortcuts;</li>
<li>Manage all captures made by the app:
<ul>
Expand All @@ -74,7 +82,7 @@ Therefore I decided to build one on my own. I'm also sharing it here. You can do
</li>
<li>WiFi share;</li>
<li>Countdown to start capturing;</li>
<li>Auto stop options;</li>
<li>Multiple auto stop options;</li>
<li>Internal viewer (player):
<ul>
<li>Audio player;</li>
Expand All @@ -88,6 +96,8 @@ Therefore I decided to build one on my own. I'm also sharing it here. You can do
</ul>
</li>
<li>Light and dark mode (auto or manually).</li>
<li>Storage control.</li>
<li>Tablet UI.</li>
</ul>

##
Expand Down Expand Up @@ -148,7 +158,7 @@ Kapture is built over an accessibility service, turning it into a specific case,

#### Option 2:
<ul>
<li>You can download the latest version .apk <a href="https://drive.google.com/file/d/1awGg6tp-QBRMJtjp7ow07E7HdDx8FW_A/view" target="_blank" rel="noreferrer">here</a>*;</li>
<li>You can download the latest version .apk <a href="https://drive.google.com/file/d/1HyRcaeUA8ZDthKhK4H4-MRrvnEbICe6W/view" target="_blank" rel="noreferrer">here</a>*;</li>
<li>You can check all previous versions .apk links for download <a href="https://github.com/hms-douglas/kapture/blob/master/dist/all.json" target="_blank" rel="noreferrer">here</a>*.</li>
</ul>
* All .apks listed here were built by me, are not minimified and are hosted on Google Drive.
Expand All @@ -163,6 +173,21 @@ Kapture is built over an accessibility service, turning it into a specific case,

##
### Log
<b>v1.3.0</b>
<ul>
<li>Auto stop option based on battery level added;</li>
<li>Storage usage option added + Clear cache option;</li>
<li>Image overlay added;</li>
<li>Widgets added (Basic, Full, WiFi share);</li>
<li>Option to control token recycling added;</li>
<li>Option to make video seekable added inside the video viewer;</li>
<li>Table UI support added;</li>
<li>Draw overlay now supports colors with alpha channel;</li>
<li>Draw overlay now supports screenshots (draw only and/or screen);</li>
<li>FFmpeg license changed from LGPL v3.0 to GPL v3.0;</li>
<li>Bug fix;</li>
<li>Minor UI changes.</li>
</ul>
<b>v1.2.0</b>
<ul>
<li>Loading performance improved;</li>
Expand Down
6 changes: 3 additions & 3 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ android {
applicationId "dev.dect.kapture"
minSdk 33
targetSdk 33
versionCode 3
versionName "1.2.0"
versionCode 4
versionName "1.3.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
Expand All @@ -37,7 +37,7 @@ dependencies {
implementation 'androidx.recyclerview:recyclerview-selection:1.1.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'

implementation 'com.arthenica:ffmpeg-kit-full:6.0-2'
implementation 'com.arthenica:ffmpeg-kit-full-gpl:6.0-2.LTS'

implementation 'com.airbnb.android:lottie:3.5.0'

Expand Down
50 changes: 49 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,19 @@
<activity
android:name=".activity.viewer.VideoActivity"
android:exported="false"
android:theme="@style/Theme.FullScreen">
android:theme="@style/Theme.FullScreen"
android:configChanges="orientation|screenSize|keyboardHidden|colorMode|screenLayout|navigation|fontScale|locale">

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

<activity
android:name=".activity.viewer.ImageActivity"
android:exported="false"
android:theme="@style/Theme.FullScreen"
android:configChanges="orientation|screenSize|keyboardHidden|colorMode|screenLayout|navigation|fontScale|locale">

<intent-filter>
<category android:name="android.intent.category.LAUNCHER"/>
Expand Down Expand Up @@ -140,5 +152,41 @@
<action android:name="android.intent.action.ACTION_SCREEN_OFF" />
</intent-filter>
</receiver>

<receiver
android:name=".widget.BasicWidget"
android:exported="false"
android:label="@string/widget_basic">

<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_basic" />
</receiver>

<receiver
android:name=".widget.FullWidget"
android:exported="false"
android:label="@string/widget_full">

<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_full" />
</receiver>

<receiver
android:name=".widget.WifiShareWidget"
android:exported="false"
android:label="@string/widget_wifi_share">

<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>

<meta-data android:name="android.appwidget.provider" android:resource="@xml/widget_wifi_share" />
</receiver>
</application>
</manifest>
12 changes: 10 additions & 2 deletions app/src/main/java/dev/dect/kapture/activity/ActionActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import dev.dect.kapture.model.Kapture;
import dev.dect.kapture.popup.DialogPopup;
import dev.dect.kapture.popup.ExtraPopup;
import dev.dect.kapture.server.WifiShare;
import dev.dect.kapture.service.CapturingService;
import dev.dect.kapture.utils.KFile;

Expand Down Expand Up @@ -61,10 +62,14 @@ private void init() {
() -> {
new DB(this).deleteKapture(kapture);

for (Kapture.Extra extra : kapture.getExtras()) {
for(Kapture.Extra extra : kapture.getExtras()) {
new File(extra.getLocation()).delete();
}

for(Kapture.Screenshot screenshot : kapture.getScreenshots()) {
new File(screenshot.getLocation()).delete();
}

f.delete();

((NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)).cancelAll();
Expand Down Expand Up @@ -105,12 +110,15 @@ private void init() {
finish();
break;

case Constants.SHORTCUT_STATIC_ACTION_WIFI_SHARE:
new WifiShare(this).setListener(this::finish).start();
break;

default:
finish();
break;
}
}
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ private void initListeners() {
});

findViewById(R.id.btnLicenseApacheV2).setOnClickListener((v) -> openLicenseUrlText(Constants.LICENSE_URL_APACHE_V2));
findViewById(R.id.btnLicenseLGPLv3).setOnClickListener((v) -> openLicenseUrlText(Constants.LICENSE_URL_LGPL_V3));
findViewById(R.id.btnLicenseLGPLv3).setOnClickListener((v) -> openLicenseUrlText(Constants.LICENSE_URL_GPL_V3));
findViewById(R.id.btnLicenseMit).setOnClickListener((v) -> openLicenseUrlText(Constants.LICENSE_URL_MIT));
findViewById(R.id.btnLicenseLotties).setOnClickListener((v) -> openLicenseUrlText(Constants.LICENSE_URL_LOTTIES));
findViewById(R.id.btnLicenseBSD3).setOnClickListener((v) -> openLicenseUrlText(Constants.LICENSE_URL_BSD3_CLAUSE));
Expand Down
Loading

0 comments on commit 817a6de

Please sign in to comment.