2015. március 17., kedd

AutoScroll

AutoScroll funkció olvasáshoz, vagy a hírek, adatfolyam átnézéséhez (mondjuk bütykölés, kávéfőzés, akármi közben)
A project-ben alkalmazásokhoz kötöttem, de szabad bármit :)
Induláskor felveszi a kijelző méreteit, lehet állítani a szélső/belső pontokat, sebességet, stb

Update
v2.0
Hide scene esetén ugyan az első változatban nem látszott a teljes kezelőfelület, de attól még ott volt, ettől a mögötte lévő felületet nem lehetett kezelni.
- a görgetést kihelyeztem egy külső task-ba, így paraméterekkel lehet vezérelni, illetve le lehetállítani bárhonnan
- átdolgozásra kerültek a vezérlők, gyorsabb futás, kisebb akadással
- különválasztottam a vezérlőfelületet és a megjelenítő funkciót
- egyszerűbb init animáció
- megszűntetésre került a %scroll változó
- egyéb apróságok a fentiek miatt

Letöltés:
AutoScroll v2.0

- kisebb hiba, hogy a Scroll task teljesen átveszi a vezérlést, ezért a kezelőfelület újbóli megjelenítése némi késleltetést szenved el (dolgozom rajta)


#Tesztelésre!! Első nyers változat
#Automatikus görgetés le, fel, lassan, gyorsan
#Mert a Tasker lustáknak való :)
#AutoScroll v1.0 - nyers

2014. augusztus 14., csütörtök

Kitti - felolvasás

Felolvasás értesítési sávból.
A vágólapra másolt tartalmat tudjuk felolvastatni, közben szünetet tartani, folytatni, stb. Hosszabb cikkekhez alkalmas, közben lehet folytatni a böngészést.

Elég sok munka volt vele és nem mennék bele a részletekbe. Adja magát.

https://docs.google.com/file/d/0B5TLPRmznWzuTk9xUWw2TmFmNWc/edit?usp=docslist_api

2014. július 26., szombat

Kitti - titkárnő alapprogram

Az elgondolás egy saját fejlesztésű MI. Jó lenne majd egyszer eljutni egy Jarvis - szintű mesterséges intelligenciáig, de van néhány szűk keresztmetszet, ezért megelégszem a tasker és az autovoice funkció - gazdagságával :)
Már egy ideje bütykölöm, jó pár funkciót újra írtam és úgy néz ki, hogy az alapprogram elkészült.
Három task az alap:
-AV kapcsoló modul
-Felolvasó modul
-Szinonima kezelő modul

Az AV kapcsoló indítja és leállítja az autovoice folyamatos funkcióját, bekapcsolja a mobilnetet (nálam Mtk eszközön keresztül, ezt le kell cserélni), beállít néhány változót későbbi felhasználásra és hangjelzést ad (nálam ez egy kicsit bug-os, de többnyire működik). A task-ot a kezdőképernyő hosszú érintésével indítom és állítom le.

A felolvasó modul felfüggeszti a hang felismerést a felolvasás idejére, többféle kimenetre tud felolvasni, felolvassa az átadott paramétert, majd vissza kapcsolja a hang felismerést. Ha nem volt aktív az av, akkor nem kapcsolja vissza.

A szinonima modul már trükkösebb. Arra terveztem, hogy többféle választ tudjon visszaadni, így fokozva a felhasználói élményt.
Működése alapján a kapott kifejezés alapján keres a kapott fájlban és random értéket ad vissza a keresett érték alapján.
Több fájl is használható, így több típusú válasz funkciót lehet produkálni.

https://docs.google.com/viewer?a=v&pid=explorer&srcid=0B5TLPRmznWzuNGhMcFA3Q05xRGc

Ezekre a modulokra épül az egész project. Innentől mindenkinek a fantáziájára van bízva, hogy mire használja. A későbbiekben egyéb funkciókat is tervezek megosztani.
Ötleteket szívesen fogadok :)

2014. április 17., csütörtök

Sms törlése, olvasottá tétele tasker-rel

Ahhoz képest, hogy milyen régóta akartam már ezt a task-ot elkészíteni, de csak mostanra sikerült - mégis azt kell mondjam, hogy ez sem annyira nehéz:) Sőt...
Na de nézzük mit is akarunk. Sms-t szeretnék törölni, olvasottá tenni, stb. Természetesen beavatkozás nélkül.
Hogy ki mire használja, ha használja, annak csak a képzelet szab határt. Én pl a reggeli otp-jelentést kezelem vele.
Na nézzük mi kell hozzá:
-tasker, vagy egyéb scripter app
-root jogosultság
-sqlite3 bináris
-script
Szükséges tudni az sms tárolására használatos adatbázis-fájl elérési útját. Ez a legtöbb android rendszerben a következő:
/data/data/com.android.providers.telephony/databases/mmssms.db

A legtöbb rom esetén nincs telepítve az sqlite3 bináris, így ezt magunknak kell megtenni. Ha van, akkor ezt a részt ugord át.
ICS(-): https://db.tt/g5vdwQyd
JB+: https://db.tt/noWgKDJJ
(forrás)
Letöltés után másoljuk be a /system/xbin vagy ezzel egyenértékű mappába a többi bináris közé 'sqlite3' néven.

Megvan minden szükséges kellék úgyhogy jöhet a task.

Hozzunk létre sima szöveges fájl-t:
[del_otp.sql]
delete from sms where address='+36209400700';
Vagy:
[read_otp.sql]
update sms set read='1' where address='+36209400700';

Hozzunk létre egy üres task-ot, és adjunk neki egy run shell műveletet. A parancs:
sqlite3 /data/data/com.android.providers.telephony/databases/mmssms.db < /teljes/eleresi/ut/read_otp.sql
Root jog kell, úgyhogy pipa.
Használata:  ízlés szerint.

Természetesen egyéb sqlite adatbázisokhoz is használható.
Ha vannak ötletek, azt szívesen fogadom :)

2014. február 25., kedd

Otp direkt bejelentkezés felolvasó

Nem egy bonyolult, úgyhogy nem vesztegetek rá sok szót. Ha az OtpDirekt küldi a bejelentkező sms-t, akkor felolvassa az ellenőrző számsort. Media csatornán keresztül teszi, ha 2-nél alacsonyabb ez a hangerő, akkor 2-re emeli, felolvassa, majd visszaállítja a hangerőt.

2013. november 30., szombat

Bluetooth kikapcsolás Tasker-rel

Elég egyszerü.
Net -> bluetooth state [off]
Feltétel:
Bluetooth connected [ not any]

Eddig :) kicsit hatékonyabban:
Két profillal csinálom. Az egyik a bluetooth bekapcsolt állapotát figyeli és bekapcsoláskor aktivizálja a másik profilt, saját magát pedig kikapcsolja. A másik profil 2 perces idõközzel ellenõrzi, hogy kapcsolódva vagyunk-e eszközhöz, majd kikapcsolja magát és aktiválja az elsõ profilt.

https://dl-web.dropbox.com/get/Public/Tasker/profiles/CheckBluetoothTurnedOn.prf.xml?w=AADlxuK0w1CUPM5qQWzoV-92_A0o5CTHdo8sxUGhxl9xBA

https://dl-web.dropbox.com/get/Public/Tasker/profiles/BluetoothDeactivate.prf.xml?w=AAB-qFKMe4UKjg10kQ2ZJZfrQ64hlzV7Sjz8ylxMmyZymg

2013. október 23., szerda

Multiuser - nem csak tableten

Mit is szeretnék?
Hát nem lenne nagy baj, ha nem csak tablet-en, hanem telefonon is ki tudnám használni a multiuser adta előnyöket. A gyerek nem nyomkodja el a rendszert, nem tud fizetni a play-en, saját felülete van, jól karbantartható, ha ottfelejtem valahol, mondjuk a munkahelyen, akkor akár távolról is átállíthatom a vendég-felhasználóra, ha valakinek kölcsönadom egy telefonálás erejéig, akkor szintén átállítható és lehetne még sorolni. Nem is értem, hogy miért nincs alapból engedélyezve ez a funkció.
Android 4.3 felett már külön háttér állítható, a tulajdonos által telepített alkalmazások nem hozzáférhetőek a többi felhasználónak, és úgy általában megfelel az átlagos többfelhasználós igényeknek.

Hogyan szeretném ezt?
Módosítások:

1)
Build.prop:
Első lépésként a build.prop-ba kell belepiszkálni:

fw.max_users=2

Ez a sor valószínűleg nincs benne, úgyhogy pötyögjük be.
Ezzel a maximális felhasználók számának kettőt határoztunk meg. Ez lehet több is, de nem nagyon van értelme túl sokat megadni. És nem is lesz jó a felület ha túl sok.

2)
Multiuser-választó felület megjelenítése a zárképernyőn:
/res/layout-port/keyguard_host_view.xml
Az utolsó <FrameLayout> szekcióba helyezzünk el egy kis kiegészítést:

androidprv:paddingTop="54.0dip"
ezzel lejjebb mozgatjuk a widget felületet.
Ugyanezen szekció után illesszük be ezt a kódot:

<FrameLayout androidprv:paddingTop="7.0dip" androidprv:layout_width="fill_parent" androidprv:layout_height="wrap_content">
            <include androidprv:layout_gravity="top|center" androidprv:layout_width="fill_parent" androidprv:layout_height="fill_parent" layout="@layout/keyguard_multi_user_selector" />
        </FrameLayout>
Ezzel pedig ügyesen megjelenik a multiuser-választó a zárképernyőn.

Nagyjából készen is van a művelet. A framework-ot felépítjük, ízlés szerint szignózzuk és telepítjük.
A módosított fájl használatba vételére többféle lehetőség van, egyelőre én a CWM/TWRP install zip metódust használom és ajánlom. Mindig legyen az sd-kártyán egy használható stabil backup arra az esetre, ha nem jön össze valami. :) Lesz ilyen. Készüljünk mindig a legrosszabbra, akkor nem ér meglepetés.

Egy-két kiegészítés:
Én a zárképernyőn használom a tulajdonos nevének megjelenítését (bár most épp még nem kapcsoltam be) és a cLock widget-et. A javításunk következtében ezek egy kicsit összecsúsztak, úgyhogy meg kellett babrálnom a számokat :)
A most már utolsó előtti FrameLayout részbe beillesztett paddingTop értéket vegyük kisebbre. Ez nekem 18.0dip lett.
A multiuser FrameLayout paddingTop értéket is állítsuk kisebbre. Ez nálam 5.0dip.
Már csak egy fájl maradt: /res/values/dimens.xml.
Valahol a vége felé vannak a szükséges sorok. Íme az általam használt értékek:
    <dimen name="keyguard_avatar_frame_stroke_width">1.0dip</dimen>
    <dimen name="keyguard_avatar_frame_shadow_radius">1.0dip</dimen>
    <dimen name="keyguard_avatar_size">32.0dip</dimen>
    <dimen name="keyguard_avatar_name_size">00.0sp</dimen>

Az első a kisképet keretező vonal vastagsága (ez 2 volt). A második ennek az árnyékolása, a harmadik az avatár-kép mérete (66 volt), a negyedik a név betűmérete a kép alatt (ezt nem kérem, úgyhogy 0).

A keret színét holo-kékre állítottam, mert nekem így tetszik.
Szorgalmi feladat megkeresni az ehhez tartozó fájlt/beállítást.



További szép napot!