Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/UnitTests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@ on:
jobs:
build:

runs-on: ubuntu-latest
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v2
- name: set up JDK 1.8
- name: set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 1.8
java-version: 17
- name: Build with Gradle
run: ./gradlew clean testDebugUnitTest --stacktrace
6 changes: 3 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ sudo: false
android:
components:
- platform-tools
- build-tools-23.0.1
- android-23
- build-tools-35.0.0
- android-35
- extra-android-support
licenses:
- '.+'
Expand All @@ -15,4 +15,4 @@ script:
- ./gradlew clean testDebugUnitTest --stacktrace

notifications:
email: false
email: false
17 changes: 9 additions & 8 deletions app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,20 @@ apply plugin: 'com.android.application'

allprojects {
repositories {
jcenter()
mavenCentral()
maven { url 'https://maven.google.com' }
}
}

android {
compileSdkVersion 29
buildToolsVersion '29.0.2'
compileSdkVersion 35

namespace = "de.smasi.tickmate"

defaultConfig {
applicationId 'de.smasi.tickmate'
minSdkVersion 19
targetSdkVersion 29
minSdkVersion 21
targetSdkVersion 35
}

buildTypes {
Expand All @@ -41,7 +42,7 @@ android {
}

dependencies {
implementation 'androidx.core:core:1.3.2'
testImplementation 'junit:junit:4.12'
testImplementation 'org.robolectric:robolectric:4.4'
implementation "androidx.core:core:1.15.0"
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.robolectric:robolectric:4.14'
}
4 changes: 3 additions & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
android:versionCode="48"
android:versionName="1.4.13">

<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission
android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
Expand All @@ -21,7 +22,8 @@
android:theme="@style/AppTheme">
<activity
android:name=".Tickmate"
android:label="@string/app_name" >
android:label="@string/app_name"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

Expand Down
25 changes: 12 additions & 13 deletions app/src/main/java/de/smasi/tickmate/Tickmate.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,34 +88,33 @@ protected void onCreate(Bundle savedInstanceState) {

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_edit_tracks:
this.editTracks(getCurrentFocus());
return true;
case R.id.action_about:
final int itemId = item.getItemId();
if (itemId == R.id.action_edit_tracks) {
this.editTracks(getCurrentFocus());
return true;
} else if (itemId == R.id.action_about) {
this.aboutActivity();
return true;
case R.id.action_settings:
} else if (itemId == R.id.action_settings) {
this.settingsActivity();
return true;
case R.id.action_jump_to_date:
} else if (itemId == R.id.action_jump_to_date) {
this.jumpToDate();
return true;
case R.id.action_jump_to_today:
} else if (itemId == R.id.action_jump_to_today) {
this.jumpToToday();
return true;
case R.id.action_export_db:
} else if (itemId == R.id.action_export_db) {
this.exportDB();
return true;
case R.id.action_import_db:
} else if (itemId == R.id.action_import_db) {
this.importDB();
return true;
case R.id.action_edit_groups:
} else if (itemId == R.id.action_edit_groups) {
this.editGroups();
return true;
default:
return super.onOptionsItemSelected(item);
}
return super.onOptionsItemSelected(item);
}

private void editGroups() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public void onReceive(Context context, Intent intent) {
Intent resultIntent = new Intent(context, Tickmate.class);


PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
mBuilder.setContentIntent(pendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Expand Down Expand Up @@ -84,7 +84,7 @@ public static void updateAlarm(Context context) {
Intent intent = new Intent(context, TickmateNotificationBroadcastReceiver.class);
intent.putExtra("onetime", Boolean.FALSE);
intent.addFlags(FLAG_INCLUDE_STOPPED_PACKAGES);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, 0);
PendingIntent pi = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_IMMUTABLE);
// cancel any previous alarms
am.cancel(pi);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@
import android.content.Context;
import android.content.res.Resources;
import android.preference.EditTextPreference;
import android.text.InputType;
import android.util.AttributeSet;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.LinearLayout;

import de.smasi.tickmate.R;
import de.smasi.tickmate.views.IconListAdapter;
Expand Down Expand Up @@ -36,7 +38,10 @@ public void onItemClick(AdapterView<?> arg0, View arg1, int id, long arg3) {
setText((String)arg0.getItemAtPosition(id));
getDialog().dismiss();
}
});
});
getEditText().setVisibility(View.GONE);
getEditText().setInputType(InputType.TYPE_NULL);
((LinearLayout) view.findViewById(R.id.icon_chooser_layout)).addView(getEditText());
}

public IconPreference(Context context, AttributeSet attrs) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@
import android.content.Intent;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.text.InputType;
import android.util.AttributeSet;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.LinearLayout;

import de.smasi.tickmate.R;
import de.smasi.tickmate.TickColor;
Expand Down Expand Up @@ -49,6 +51,10 @@ public void onItemClick(AdapterView<?> parent, View view, int position, long id)
getDialog().dismiss();
}
});

getEditText().setVisibility(View.GONE);
getEditText().setInputType(InputType.TYPE_NULL);
((LinearLayout) view.findViewById(R.id.tick_color_chooser_layout)).addView(getEditText());
}

// TODO: remove "positive button"
Expand Down
27 changes: 8 additions & 19 deletions app/src/main/java/de/smasi/tickmate/views/EditGroupsActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,12 @@ public boolean onCreateOptionsMenu(Menu menu) {

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
final int itemId = item.getItemId();
if (itemId == android.R.id.home) {
// Call finish here to have the same behaviour as the the "back" button.
finish();
return true;
case R.id.action_add_group:
case R.id.action_add_group_menu:
} else if (itemId == R.id.action_add_group || itemId == R.id.action_add_group_menu) {
Intent intent = new Intent(this, ChooseGroupActivity.class);
startActivityForResult(intent, 1);
return true;
Expand Down Expand Up @@ -99,34 +98,25 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
@Override
public boolean onContextItemSelected(MenuItem item) {
final AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

switch (item.getItemId()) {

case R.id.edit_groups_edit: {
final int itemId = item.getItemId();
if (itemId == R.id.edit_groups_edit) {
Group g = groupsAdapter.getItem((int) info.id);
editGroup(g);
return true;
}

case R.id.edit_groups_moveup: {
} else if (itemId == R.id.edit_groups_moveup) {
Group g = groupsAdapter.getItem((int)info.id);
DataSource ds = DataSource.getInstance();
ds.moveGroup(g, DataSource.DIRECTION_UP);
loadGroups();
return true;
}

case R.id.edit_groups_movedown: {
} else if (itemId == R.id.edit_groups_movedown) {
Group g = (Group)groupsAdapter.getItem((int)info.id);
DataSource ds = DataSource.getInstance();
ds.moveGroup(g, DataSource.DIRECTION_DOWN);
loadGroups();
return true;
}

// Consider whether the user will be able to enable/disable groups.

case R.id.edit_groups_delete: {
} else if (itemId == R.id.edit_groups_delete) {
new AlertDialog.Builder(this)
.setTitle(R.string.alert_delete_group_title)
.setMessage(R.string.alert_delete_group_message)
Expand All @@ -142,7 +132,6 @@ public void onClick(DialogInterface dialog, int whichButton) {
})
.setNegativeButton(android.R.string.no, null).show();
return true;
}
}
return super.onContextItemSelected(item);
}
Expand Down
68 changes: 27 additions & 41 deletions app/src/main/java/de/smasi/tickmate/views/EditTracksActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ public boolean onCreateOptionsMenu(Menu menu) {

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
final int itemId = item.getItemId();
if (itemId == android.R.id.home) {
// This ID represents the Home or Up button. In the case of this
// activity, the Up button is shown. Use NavUtils to allow users
// to navigate up one level in the application structure. For
Expand All @@ -71,8 +71,7 @@ public boolean onOptionsItemSelected(MenuItem item) {
//
NavUtils.navigateUpFromSameTask(this);
return true;
case R.id.action_choose_track:
case R.id.action_choose_track_menu:
} else if (itemId == R.id.action_choose_track || itemId == R.id.action_choose_track_menu) {
Intent intent = new Intent(this, ChooseTrackActivity.class);
startActivityForResult(intent, 1);
return true;
Expand Down Expand Up @@ -117,50 +116,38 @@ protected void onActivityResult(int requestCode, int resultCode, Intent data) {
@Override
public boolean onContextItemSelected(MenuItem item) {
final AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();

switch (item.getItemId()) {

case R.id.edit_tracks_edit: {
final int itemId = item.getItemId();
if (itemId == R.id.edit_tracks_edit) {
Track t = (Track)tracksAdapter.getItem((int)info.id);
editTrack(t);
return true;
}

case R.id.edit_tracks_moveup: {
} else if (itemId == R.id.edit_tracks_moveup) {
Track t = (Track)tracksAdapter.getItem((int)info.id);
DataSource ds = DataSource.getInstance();
ds.moveTrack(t, DataSource.DIRECTION_UP);
loadTracks();
return true;
}

case R.id.edit_tracks_movedown: {
Track t = (Track)tracksAdapter.getItem((int)info.id);
DataSource ds = DataSource.getInstance();
ds.moveTrack(t, DataSource.DIRECTION_DOWN);
loadTracks();
return true;
}

case R.id.edit_tracks_activate: {
Track t = (Track)tracksAdapter.getItem((int)info.id);
DataSource ds = DataSource.getInstance();
t.setEnabled(true);
ds.storeTrack(t);
loadTracks();
return true;
}

case R.id.edit_tracks_deactivate: {
Track t = (Track)tracksAdapter.getItem((int)info.id);
DataSource ds = DataSource.getInstance();
t.setEnabled(false);
ds.storeTrack(t);
loadTracks();
return true;
}

case R.id.edit_tracks_delete: {
} else if (itemId == R.id.edit_tracks_movedown) {
Track t = (Track)tracksAdapter.getItem((int)info.id);
DataSource ds = DataSource.getInstance();
ds.moveTrack(t, DataSource.DIRECTION_DOWN);
loadTracks();
return true;
} else if (itemId == R.id.edit_tracks_activate) {
Track t = (Track) tracksAdapter.getItem((int) info.id);
DataSource ds = DataSource.getInstance();
t.setEnabled(true);
ds.storeTrack(t);
loadTracks();
return true;
} else if (itemId == R.id.edit_tracks_deactivate) {
Track t = (Track) tracksAdapter.getItem((int) info.id);
DataSource ds = DataSource.getInstance();
t.setEnabled(false);
ds.storeTrack(t);
loadTracks();
return true;
} else if (itemId == R.id.edit_tracks_delete) {
new AlertDialog.Builder(this)
.setTitle(R.string.alert_delete_track_title)
.setMessage(R.string.alert_delete_track_message)
Expand All @@ -177,7 +164,6 @@ public void onClick(DialogInterface dialog, int whichButton) {

return true;
}
}
return super.onContextItemSelected(item);
}

Expand Down
Loading