From 3fcf7bd3ed1e4bb3db667a01fc846c0b5cdb9559 Mon Sep 17 00:00:00 2001 From: Joel Date: Wed, 24 Mar 2021 18:25:46 +0100 Subject: [PATCH] added option to create shortcut, bump version to 0.4.7 --- app/build.gradle | 4 +- .../java/de/joel/zoomhelper/MainActivity.java | 58 ++++++++++++++++++ .../drawable/iconfinder_heart_7124225_32.png | Bin 0 -> 832 bytes app/src/main/res/layout-v26/icons.xml | 17 ++++- app/src/main/res/layout/icons.xml | 15 ++++- app/src/main/res/values/strings.xml | 1 + 6 files changed, 91 insertions(+), 4 deletions(-) create mode 100644 app/src/main/res/drawable/iconfinder_heart_7124225_32.png diff --git a/app/build.gradle b/app/build.gradle index 186f8ba..6a39692 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId "de.joel.zoomhelper" minSdkVersion 21 targetSdkVersion 30 - versionCode 10 - versionName '0.4.6' + versionCode 11 + versionName '0.4.7' testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/java/de/joel/zoomhelper/MainActivity.java b/app/src/main/java/de/joel/zoomhelper/MainActivity.java index 2e99fb1..8602aeb 100644 --- a/app/src/main/java/de/joel/zoomhelper/MainActivity.java +++ b/app/src/main/java/de/joel/zoomhelper/MainActivity.java @@ -4,8 +4,13 @@ import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.ShortcutInfo; +import android.content.pm.ShortcutManager; +import android.graphics.drawable.Icon; import android.net.Uri; +import android.os.Build; import android.os.Bundle; +import android.os.PersistableBundle; import android.util.AttributeSet; import android.util.Base64; import android.view.View; @@ -14,10 +19,15 @@ import android.widget.AutoCompleteTextView; import android.widget.EditText; import android.widget.ImageView; import android.widget.ScrollView; +import android.widget.TextView; import android.widget.Toast; +import androidx.annotation.RequiresApi; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.pm.ShortcutInfoCompat; +import androidx.core.content.pm.ShortcutManagerCompat; +import androidx.core.graphics.drawable.IconCompat; import com.github.javiersantos.appupdater.AppUpdater; import com.github.javiersantos.appupdater.enums.UpdateFrom; @@ -58,9 +68,17 @@ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { + + Intent myIntent = getIntent(); // gets the previously created intent + int meetingIndex = myIntent.getIntExtra("meetingIndex", -1); + super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ScrollView scrollview = findViewById(R.id.scrollArea); + + + + watchMeetingNameBox(); fillDropdownMeetingName(); if (getLastMeeting() != -1) { @@ -83,14 +101,54 @@ public class MainActivity extends AppCompatActivity { watchDeleteIcon(); watchNewIcon(); watchShareIcon(); + watchShortcutIcon(); + if (meetingIndex <= getMeetings().size() && meetingIndex != -1) { + setLastMeeting(meetingIndex); + AutoCompleteTextView textMeetingName = findViewById(R.id.TextMeetingName); + textMeetingName.setEnabled(false); + textMeetingName.setAdapter(null); + ImageView imageTrash = findViewById(R.id.imageTrash); + imageTrash.setVisibility(View.GONE); + } + AppUpdater appUpdater = new AppUpdater(this).setUpdateFrom(UpdateFrom.XML).setUpdateXML("https://baldaufwd.de/ZoomHelper/update.xml"); appUpdater.start(); } + private void watchShortcutIcon() { + ImageView ShortcutIcon = findViewById(R.id.imageCreateShortcut); + ShortcutIcon.setOnClickListener(v -> createMeetingShortcut(searchMeetingInList(getMeetings(), createCurrMeetingFromUI().meetingName))); + } + + @RequiresApi(api = Build.VERSION_CODES.N_MR1) + private void createMeetingShortcut(int meetingIndex) { + + Meeting meeting = getMeetings().get(meetingIndex); + + if (ShortcutManagerCompat.isRequestPinShortcutSupported(this)) { + ShortcutInfoCompat shortcutInfo = new ShortcutInfoCompat.Builder(this, "#1") + .setShortLabel(meeting.meetingName) + .setLongLabel(meeting.meetingName) + .setIcon(IconCompat.createWithResource(this, R.mipmap.ic_launcher)) + .setIntents(new Intent[] { + new Intent(this, MainActivity.class) + .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK) + .putExtra("meetingIndex", meetingIndex) + .setAction("LOCATION_SHORTCUT"), + }) + .build(); + ShortcutManagerCompat.requestPinShortcut(this, shortcutInfo, null); + } else { + Toast.makeText(this, "no shortcut", Toast.LENGTH_SHORT).show(); + } + } + + + private void watchShareIcon() { ImageView ShareIcon = findViewById(R.id.imageShare); ShareIcon.setOnClickListener(v -> shareMeeting(createCurrMeetingFromUI())); diff --git a/app/src/main/res/drawable/iconfinder_heart_7124225_32.png b/app/src/main/res/drawable/iconfinder_heart_7124225_32.png new file mode 100644 index 0000000000000000000000000000000000000000..6a24c26f4fbb3a71daa0c8a01a3633f822c28698 GIT binary patch literal 832 zcmV-G1Hb%-9P# zwej1`eE0m%`Tfp0!yOo}@%qmtUW02k)D>DHD+J~MD7-gRpWM6E6d#NHuma`b`hp2q zXMx}_^UMK^oeyFcyVA*f3IsQ9TPBueg5)|L_uHR=zmN2*VysUrV%_$YH;kZp_sL!n z@&QD+{yEpG>9~Bk&k=c6Tw7a`|HU}1u-!RV;QZ%l)*jdVSL3QGn}PiPKG_Q#bjd1DMy(eG~Mmz2jM{Hbv$p$5L0I1g599XYtAd?v%LZ zBbNxPyiA^VV1OAwH#kmU0R52?KU2{AQ^&r5R zSJsz_a=~uZK#n=bCpepUXZxqZqT*geRssPL4HpzGZR_f6dz&^~tUJJ@1YQrfHb-v` zE0B=rcs_sO;wixLOe6-wRppe~96d5PH$(s+{-*t5CKB%OOZ#zoSGWo!B?^j`WQ&YW zV#u+hC(Y*Q0XMj(06q; z#5+4YC0yY*qa(r-QU4{Oa9sn)KD+NxHP!*73m>gOLZT{i9A&@TpsF^Q%}s~=!olYi zI4l09{c+*K#gl=OOyOw>xJjf7&$J{|Rad>bDpJna{&SAkzpX!DyKw`pI-mLg0000< KMNUMnLSTX#;DSE@ literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout-v26/icons.xml b/app/src/main/res/layout-v26/icons.xml index 3c2cdb0..144fc32 100644 --- a/app/src/main/res/layout-v26/icons.xml +++ b/app/src/main/res/layout-v26/icons.xml @@ -45,10 +45,25 @@ android:contentDescription="@string/saveTooltip" android:focusable="true" android:tooltipText="@string/saveTooltip" - app:layout_constraintEnd_toStartOf="@+id/imageShare" + app:layout_constraintEnd_toStartOf="@+id/imageCreateShortcut" app:layout_constraintTop_toTopOf="@+id/imageAdd" app:srcCompat="@drawable/iconfinder_save_7124134_32" /> + + + + + aufklappen Kenncode Meeting ID + Direkte Verknüpfung zum gewählten Meeting erstellen \ No newline at end of file