├── .gitignore ├── LICENCE ├── Privacy Policy.md ├── README.md └── StatusBarSpeedometer ├── .gitignore ├── app ├── build.gradle.kts └── src │ ├── debug │ └── res │ │ ├── values │ │ └── strings.xml │ │ └── xml │ │ └── shortcuts.xml │ └── main │ ├── AndroidManifest.xml │ ├── kotlin │ └── ch │ │ └── rmy │ │ └── android │ │ └── statusbar_tacho │ │ ├── Application.kt │ │ ├── activities │ │ ├── MainScreen.kt │ │ ├── Modal.kt │ │ ├── SettingsActivity.kt │ │ ├── SettingsDialog.kt │ │ ├── ToggleActivity.kt │ │ ├── TopSpeedDialog.kt │ │ └── WelcomeDialog.kt │ │ ├── components │ │ └── Menu.kt │ │ ├── extensions │ │ └── Extensions.kt │ │ ├── icons │ │ └── IconProvider.kt │ │ ├── location │ │ ├── SpeedState.kt │ │ └── SpeedWatcher.kt │ │ ├── notifications │ │ └── NotificationProvider.kt │ │ ├── receivers │ │ ├── DeviceBootReceiver.kt │ │ └── DismissReceiver.kt │ │ ├── services │ │ ├── QuickSettingsTitleService.kt │ │ └── SpeedometerService.kt │ │ ├── units │ │ └── SpeedUnit.kt │ │ ├── utils │ │ ├── Color.kt │ │ ├── Destroyable.kt │ │ ├── Destroyer.kt │ │ ├── PermissionManager.kt │ │ ├── ScreenStateWatcher.kt │ │ ├── Settings.kt │ │ ├── SpeedFormatter.kt │ │ ├── Theme.kt │ │ └── Trigonometry.kt │ │ └── views │ │ ├── Gauge.kt │ │ ├── GaugeScale.kt │ │ ├── GaugeTheme.kt │ │ ├── GaugeView.kt │ │ └── ThemeId.kt │ ├── play │ ├── contact-email.txt │ ├── contact-website.txt │ ├── default-language.txt │ └── listings │ │ ├── de-DE │ │ ├── full-description.txt │ │ ├── short-description.txt │ │ └── title.txt │ │ ├── en-US │ │ ├── full-description.txt │ │ ├── graphics │ │ │ ├── feature-graphic │ │ │ │ └── header.png │ │ │ ├── icon │ │ │ │ └── logo.icon.png │ │ │ └── phone-screenshots │ │ │ │ ├── 01.png │ │ │ │ ├── 02.png │ │ │ │ ├── 03.png │ │ │ │ ├── 04.png │ │ │ │ └── 05.png │ │ ├── short-description.txt │ │ └── title.txt │ │ ├── es-ES │ │ ├── full-description.txt │ │ ├── short-description.txt │ │ └── title.txt │ │ ├── fr-FR │ │ ├── full-description.txt │ │ ├── short-description.txt │ │ └── title.txt │ │ ├── pl-PL │ │ ├── full-description.txt │ │ ├── short-description.txt │ │ └── title.txt │ │ ├── ru-RU │ │ ├── full-description.txt │ │ ├── short-description.txt │ │ └── title.txt │ │ └── tr-TR │ │ ├── full-description.txt │ │ ├── short-description.txt │ │ └── title.txt │ └── res │ ├── drawable │ ├── ic_launcher_background.xml │ ├── ic_launcher_foreground.xml │ ├── ic_launcher_monochrome.xml │ ├── ic_quick_settings_title.xml │ ├── icon000.xml │ ├── icon001.xml │ ├── icon002.xml │ ├── icon003.xml │ ├── icon004.xml │ ├── icon005.xml │ ├── icon006.xml │ ├── icon007.xml │ ├── icon008.xml │ ├── icon009.xml │ ├── icon010.xml │ ├── icon011.xml │ ├── icon012.xml │ ├── icon013.xml │ ├── icon014.xml │ ├── icon015.xml │ ├── icon016.xml │ ├── icon017.xml │ ├── icon018.xml │ ├── icon019.xml │ ├── icon020.xml │ ├── icon021.xml │ ├── icon022.xml │ ├── icon023.xml │ ├── icon024.xml │ ├── icon025.xml │ ├── icon026.xml │ ├── icon027.xml │ ├── icon028.xml │ ├── icon029.xml │ ├── icon030.xml │ ├── icon031.xml │ ├── icon032.xml │ ├── icon033.xml │ ├── icon034.xml │ ├── icon035.xml │ ├── icon036.xml │ ├── icon037.xml │ ├── icon038.xml │ ├── icon039.xml │ ├── icon040.xml │ ├── icon041.xml │ ├── icon042.xml │ ├── icon043.xml │ ├── icon044.xml │ ├── icon045.xml │ ├── icon046.xml │ ├── icon047.xml │ ├── icon048.xml │ ├── icon049.xml │ ├── icon050.xml │ ├── icon051.xml │ ├── icon052.xml │ ├── icon053.xml │ ├── icon054.xml │ ├── icon055.xml │ ├── icon056.xml │ ├── icon057.xml │ ├── icon058.xml │ ├── icon059.xml │ ├── icon060.xml │ ├── icon061.xml │ ├── icon062.xml │ ├── icon063.xml │ ├── icon064.xml │ ├── icon065.xml │ ├── icon066.xml │ ├── icon067.xml │ ├── icon068.xml │ ├── icon069.xml │ ├── icon070.xml │ ├── icon071.xml │ ├── icon072.xml │ ├── icon073.xml │ ├── icon074.xml │ ├── icon075.xml │ ├── icon076.xml │ ├── icon077.xml │ ├── icon078.xml │ ├── icon079.xml │ ├── icon080.xml │ ├── icon081.xml │ ├── icon082.xml │ ├── icon083.xml │ ├── icon084.xml │ ├── icon085.xml │ ├── icon086.xml │ ├── icon087.xml │ ├── icon088.xml │ ├── icon089.xml │ ├── icon090.xml │ ├── icon091.xml │ ├── icon092.xml │ ├── icon093.xml │ ├── icon094.xml │ ├── icon095.xml │ ├── icon096.xml │ ├── icon097.xml │ ├── icon098.xml │ ├── icon099.xml │ ├── icon100.xml │ ├── icon101.xml │ ├── icon102.xml │ ├── icon103.xml │ ├── icon104.xml │ ├── icon105.xml │ ├── icon106.xml │ ├── icon107.xml │ ├── icon108.xml │ ├── icon109.xml │ ├── icon110.xml │ ├── icon111.xml │ ├── icon112.xml │ ├── icon113.xml │ ├── icon114.xml │ ├── icon115.xml │ ├── icon116.xml │ ├── icon117.xml │ ├── icon118.xml │ ├── icon119.xml │ ├── icon120.xml │ ├── icon121.xml │ ├── icon122.xml │ ├── icon123.xml │ ├── icon124.xml │ ├── icon125.xml │ ├── icon126.xml │ ├── icon127.xml │ ├── icon128.xml │ ├── icon129.xml │ ├── icon130.xml │ ├── icon131.xml │ ├── icon132.xml │ ├── icon133.xml │ ├── icon134.xml │ ├── icon135.xml │ ├── icon136.xml │ ├── icon137.xml │ ├── icon138.xml │ ├── icon139.xml │ ├── icon140.xml │ ├── icon141.xml │ ├── icon142.xml │ ├── icon143.xml │ ├── icon144.xml │ ├── icon145.xml │ ├── icon146.xml │ ├── icon147.xml │ ├── icon148.xml │ ├── icon149.xml │ ├── icon150.xml │ ├── icon151.xml │ ├── icon152.xml │ ├── icon153.xml │ ├── icon154.xml │ ├── icon155.xml │ ├── icon156.xml │ ├── icon157.xml │ ├── icon158.xml │ ├── icon159.xml │ ├── icon160.xml │ ├── icon161.xml │ ├── icon162.xml │ ├── icon163.xml │ ├── icon164.xml │ ├── icon165.xml │ ├── icon166.xml │ ├── icon167.xml │ ├── icon168.xml │ ├── icon169.xml │ ├── icon170.xml │ ├── icon171.xml │ ├── icon172.xml │ ├── icon173.xml │ ├── icon174.xml │ ├── icon175.xml │ ├── icon176.xml │ ├── icon177.xml │ ├── icon178.xml │ ├── icon179.xml │ ├── icon180.xml │ ├── icon181.xml │ ├── icon182.xml │ ├── icon183.xml │ ├── icon184.xml │ ├── icon185.xml │ ├── icon186.xml │ ├── icon187.xml │ ├── icon188.xml │ ├── icon189.xml │ ├── icon190.xml │ ├── icon191.xml │ ├── icon192.xml │ ├── icon193.xml │ ├── icon194.xml │ ├── icon195.xml │ ├── icon196.xml │ ├── icon197.xml │ ├── icon198.xml │ ├── icon199.xml │ ├── icon200.xml │ ├── icon201.xml │ ├── icon202.xml │ ├── icon203.xml │ ├── icon204.xml │ ├── icon205.xml │ ├── icon206.xml │ ├── icon207.xml │ ├── icon208.xml │ ├── icon209.xml │ ├── icon210.xml │ ├── icon211.xml │ ├── icon212.xml │ ├── icon213.xml │ ├── icon214.xml │ ├── icon215.xml │ ├── icon216.xml │ ├── icon217.xml │ ├── icon218.xml │ ├── icon219.xml │ ├── icon220.xml │ ├── icon221.xml │ ├── icon222.xml │ ├── icon223.xml │ ├── icon224.xml │ ├── icon225.xml │ ├── icon226.xml │ ├── icon227.xml │ ├── icon228.xml │ ├── icon229.xml │ ├── icon230.xml │ ├── icon231.xml │ ├── icon232.xml │ ├── icon233.xml │ ├── icon234.xml │ ├── icon235.xml │ ├── icon236.xml │ ├── icon237.xml │ ├── icon238.xml │ ├── icon239.xml │ ├── icon240.xml │ ├── icon241.xml │ ├── icon242.xml │ ├── icon243.xml │ ├── icon244.xml │ ├── icon245.xml │ ├── icon246.xml │ ├── icon247.xml │ ├── icon248.xml │ ├── icon249.xml │ ├── icon250.xml │ ├── icon251.xml │ ├── icon252.xml │ ├── icon253.xml │ ├── icon254.xml │ ├── icon255.xml │ ├── icon256.xml │ ├── icon257.xml │ ├── icon258.xml │ ├── icon259.xml │ ├── icon260.xml │ ├── icon261.xml │ ├── icon262.xml │ ├── icon263.xml │ ├── icon264.xml │ ├── icon265.xml │ ├── icon266.xml │ ├── icon267.xml │ ├── icon268.xml │ ├── icon269.xml │ ├── icon270.xml │ ├── icon271.xml │ ├── icon272.xml │ ├── icon273.xml │ ├── icon274.xml │ ├── icon275.xml │ ├── icon276.xml │ ├── icon277.xml │ ├── icon278.xml │ ├── icon279.xml │ ├── icon280.xml │ ├── icon281.xml │ ├── icon282.xml │ ├── icon283.xml │ ├── icon284.xml │ ├── icon285.xml │ ├── icon286.xml │ ├── icon287.xml │ ├── icon288.xml │ ├── icon289.xml │ ├── icon290.xml │ ├── icon291.xml │ ├── icon292.xml │ ├── icon293.xml │ ├── icon294.xml │ ├── icon295.xml │ ├── icon296.xml │ ├── icon297.xml │ ├── icon298.xml │ ├── icon299.xml │ ├── icon300.xml │ ├── icon301.xml │ ├── icon302.xml │ ├── icon303.xml │ ├── icon304.xml │ ├── icon305.xml │ ├── icon306.xml │ ├── icon307.xml │ ├── icon308.xml │ ├── icon309.xml │ ├── icon310.xml │ ├── icon311.xml │ ├── icon312.xml │ ├── icon313.xml │ ├── icon314.xml │ ├── icon315.xml │ ├── icon316.xml │ ├── icon317.xml │ ├── icon318.xml │ ├── icon319.xml │ ├── icon320.xml │ ├── icon321.xml │ ├── icon322.xml │ ├── icon323.xml │ ├── icon324.xml │ ├── icon325.xml │ ├── icon326.xml │ ├── icon327.xml │ ├── icon328.xml │ ├── icon329.xml │ ├── icon330.xml │ ├── icon331.xml │ ├── icon332.xml │ ├── icon333.xml │ ├── icon334.xml │ ├── icon335.xml │ ├── icon336.xml │ ├── icon337.xml │ ├── icon338.xml │ ├── icon339.xml │ ├── icon340.xml │ ├── icon341.xml │ ├── icon342.xml │ ├── icon343.xml │ ├── icon344.xml │ ├── icon345.xml │ ├── icon346.xml │ ├── icon347.xml │ ├── icon348.xml │ ├── icon349.xml │ ├── icon350.xml │ ├── icon351.xml │ ├── icon352.xml │ ├── icon353.xml │ ├── icon354.xml │ ├── icon355.xml │ ├── icon356.xml │ ├── icon357.xml │ ├── icon358.xml │ ├── icon359.xml │ ├── icon360.xml │ ├── icon361.xml │ ├── icon362.xml │ ├── icon363.xml │ ├── icon364.xml │ ├── icon365.xml │ ├── icon366.xml │ ├── icon367.xml │ ├── icon368.xml │ ├── icon369.xml │ ├── icon370.xml │ ├── icon371.xml │ ├── icon372.xml │ ├── icon373.xml │ ├── icon374.xml │ ├── icon375.xml │ ├── icon376.xml │ ├── icon377.xml │ ├── icon378.xml │ ├── icon379.xml │ ├── icon380.xml │ ├── icon381.xml │ ├── icon382.xml │ ├── icon383.xml │ ├── icon384.xml │ ├── icon385.xml │ ├── icon386.xml │ ├── icon387.xml │ ├── icon388.xml │ ├── icon389.xml │ ├── icon390.xml │ ├── icon391.xml │ ├── icon392.xml │ ├── icon393.xml │ ├── icon394.xml │ ├── icon395.xml │ ├── icon396.xml │ ├── icon397.xml │ ├── icon398.xml │ ├── icon399.xml │ ├── icon400.xml │ ├── icon401.xml │ ├── icon402.xml │ ├── icon403.xml │ ├── icon404.xml │ ├── icon405.xml │ ├── icon406.xml │ ├── icon407.xml │ ├── icon408.xml │ ├── icon409.xml │ ├── icon410.xml │ ├── icon411.xml │ ├── icon412.xml │ ├── icon413.xml │ ├── icon414.xml │ ├── icon415.xml │ ├── icon416.xml │ ├── icon417.xml │ ├── icon418.xml │ ├── icon419.xml │ ├── icon420.xml │ ├── icon421.xml │ ├── icon422.xml │ ├── icon423.xml │ ├── icon424.xml │ ├── icon425.xml │ ├── icon426.xml │ ├── icon427.xml │ ├── icon428.xml │ ├── icon429.xml │ ├── icon430.xml │ ├── icon431.xml │ ├── icon432.xml │ ├── icon433.xml │ ├── icon434.xml │ ├── icon435.xml │ ├── icon436.xml │ ├── icon437.xml │ ├── icon438.xml │ ├── icon439.xml │ ├── icon440.xml │ ├── icon441.xml │ ├── icon442.xml │ ├── icon443.xml │ ├── icon444.xml │ ├── icon445.xml │ ├── icon446.xml │ ├── icon447.xml │ ├── icon448.xml │ ├── icon449.xml │ ├── icon450.xml │ ├── icon451.xml │ ├── icon452.xml │ ├── icon453.xml │ ├── icon454.xml │ ├── icon455.xml │ ├── icon456.xml │ ├── icon457.xml │ ├── icon458.xml │ ├── icon459.xml │ ├── icon460.xml │ ├── icon461.xml │ ├── icon462.xml │ ├── icon463.xml │ ├── icon464.xml │ ├── icon465.xml │ ├── icon466.xml │ ├── icon467.xml │ ├── icon468.xml │ ├── icon469.xml │ ├── icon470.xml │ ├── icon471.xml │ ├── icon472.xml │ ├── icon473.xml │ ├── icon474.xml │ ├── icon475.xml │ ├── icon476.xml │ ├── icon477.xml │ ├── icon478.xml │ ├── icon479.xml │ ├── icon480.xml │ ├── icon481.xml │ ├── icon482.xml │ ├── icon483.xml │ ├── icon484.xml │ ├── icon485.xml │ ├── icon486.xml │ ├── icon487.xml │ ├── icon488.xml │ ├── icon489.xml │ ├── icon490.xml │ ├── icon491.xml │ ├── icon492.xml │ ├── icon493.xml │ ├── icon494.xml │ ├── icon495.xml │ ├── icon496.xml │ ├── icon497.xml │ ├── icon498.xml │ ├── icon499.xml │ ├── icon500.xml │ ├── icon501.xml │ ├── icon502.xml │ ├── icon503.xml │ ├── icon504.xml │ ├── icon505.xml │ ├── icon506.xml │ ├── icon507.xml │ ├── icon508.xml │ ├── icon509.xml │ ├── icon510.xml │ ├── icon511.xml │ ├── icon512.xml │ ├── icon513.xml │ ├── icon514.xml │ ├── icon515.xml │ ├── icon516.xml │ ├── icon517.xml │ ├── icon518.xml │ ├── icon519.xml │ ├── icon520.xml │ ├── icon521.xml │ ├── icon522.xml │ ├── icon523.xml │ ├── icon524.xml │ ├── icon525.xml │ ├── icon526.xml │ ├── icon527.xml │ ├── icon528.xml │ ├── icon529.xml │ ├── icon530.xml │ ├── icon531.xml │ ├── icon532.xml │ ├── icon533.xml │ ├── icon534.xml │ ├── icon535.xml │ ├── icon536.xml │ ├── icon537.xml │ ├── icon538.xml │ ├── icon539.xml │ ├── icon540.xml │ ├── icon541.xml │ ├── icon542.xml │ ├── icon543.xml │ ├── icon544.xml │ ├── icon545.xml │ ├── icon546.xml │ ├── icon547.xml │ ├── icon548.xml │ ├── icon549.xml │ ├── icon550.xml │ ├── icon551.xml │ ├── icon552.xml │ ├── icon553.xml │ ├── icon554.xml │ ├── icon555.xml │ ├── icon556.xml │ ├── icon557.xml │ ├── icon558.xml │ ├── icon559.xml │ ├── icon560.xml │ ├── icon561.xml │ ├── icon562.xml │ ├── icon563.xml │ ├── icon564.xml │ ├── icon565.xml │ ├── icon566.xml │ ├── icon567.xml │ ├── icon568.xml │ ├── icon569.xml │ ├── icon570.xml │ ├── icon571.xml │ ├── icon572.xml │ ├── icon573.xml │ ├── icon574.xml │ ├── icon575.xml │ ├── icon576.xml │ ├── icon577.xml │ ├── icon578.xml │ ├── icon579.xml │ ├── icon580.xml │ ├── icon581.xml │ ├── icon582.xml │ ├── icon583.xml │ ├── icon584.xml │ ├── icon585.xml │ ├── icon586.xml │ ├── icon587.xml │ ├── icon588.xml │ ├── icon589.xml │ ├── icon590.xml │ ├── icon591.xml │ ├── icon592.xml │ ├── icon593.xml │ ├── icon594.xml │ ├── icon595.xml │ ├── icon596.xml │ ├── icon597.xml │ ├── icon598.xml │ ├── icon599.xml │ ├── icon600.xml │ ├── icon601.xml │ ├── icon602.xml │ ├── icon603.xml │ ├── icon604.xml │ ├── icon605.xml │ ├── icon606.xml │ ├── icon607.xml │ ├── icon608.xml │ ├── icon609.xml │ ├── icon610.xml │ ├── icon611.xml │ ├── icon612.xml │ ├── icon613.xml │ ├── icon614.xml │ ├── icon615.xml │ ├── icon616.xml │ ├── icon617.xml │ ├── icon618.xml │ ├── icon619.xml │ ├── icon620.xml │ ├── icon621.xml │ ├── icon622.xml │ ├── icon623.xml │ ├── icon624.xml │ ├── icon625.xml │ ├── icon626.xml │ ├── icon627.xml │ ├── icon628.xml │ ├── icon629.xml │ ├── icon630.xml │ ├── icon631.xml │ ├── icon632.xml │ ├── icon633.xml │ ├── icon634.xml │ ├── icon635.xml │ ├── icon636.xml │ ├── icon637.xml │ ├── icon638.xml │ ├── icon639.xml │ ├── icon640.xml │ ├── icon641.xml │ ├── icon642.xml │ ├── icon643.xml │ ├── icon644.xml │ ├── icon645.xml │ ├── icon646.xml │ ├── icon647.xml │ ├── icon648.xml │ ├── icon649.xml │ ├── icon650.xml │ ├── icon651.xml │ ├── icon652.xml │ ├── icon653.xml │ ├── icon654.xml │ ├── icon655.xml │ ├── icon656.xml │ ├── icon657.xml │ ├── icon658.xml │ ├── icon659.xml │ ├── icon660.xml │ ├── icon661.xml │ ├── icon662.xml │ ├── icon663.xml │ ├── icon664.xml │ ├── icon665.xml │ ├── icon666.xml │ ├── icon667.xml │ ├── icon668.xml │ ├── icon669.xml │ ├── icon670.xml │ ├── icon671.xml │ ├── icon672.xml │ ├── icon673.xml │ ├── icon674.xml │ ├── icon675.xml │ ├── icon676.xml │ ├── icon677.xml │ ├── icon678.xml │ ├── icon679.xml │ ├── icon680.xml │ ├── icon681.xml │ ├── icon682.xml │ ├── icon683.xml │ ├── icon684.xml │ ├── icon685.xml │ ├── icon686.xml │ ├── icon687.xml │ ├── icon688.xml │ ├── icon689.xml │ ├── icon690.xml │ ├── icon691.xml │ ├── icon692.xml │ ├── icon693.xml │ ├── icon694.xml │ ├── icon695.xml │ ├── icon696.xml │ ├── icon697.xml │ ├── icon698.xml │ ├── icon699.xml │ ├── icon700.xml │ ├── icon701.xml │ ├── icon702.xml │ ├── icon703.xml │ ├── icon704.xml │ ├── icon705.xml │ ├── icon706.xml │ ├── icon707.xml │ ├── icon708.xml │ ├── icon709.xml │ ├── icon710.xml │ ├── icon711.xml │ ├── icon712.xml │ ├── icon713.xml │ ├── icon714.xml │ ├── icon715.xml │ ├── icon716.xml │ ├── icon717.xml │ ├── icon718.xml │ ├── icon719.xml │ ├── icon720.xml │ ├── icon721.xml │ ├── icon722.xml │ ├── icon723.xml │ ├── icon724.xml │ ├── icon725.xml │ ├── icon726.xml │ ├── icon727.xml │ ├── icon728.xml │ ├── icon729.xml │ ├── icon730.xml │ ├── icon731.xml │ ├── icon732.xml │ ├── icon733.xml │ ├── icon734.xml │ ├── icon735.xml │ ├── icon736.xml │ ├── icon737.xml │ ├── icon738.xml │ ├── icon739.xml │ ├── icon740.xml │ ├── icon741.xml │ ├── icon742.xml │ ├── icon743.xml │ ├── icon744.xml │ ├── icon745.xml │ ├── icon746.xml │ ├── icon747.xml │ ├── icon748.xml │ ├── icon749.xml │ ├── icon750.xml │ ├── icon751.xml │ ├── icon752.xml │ ├── icon753.xml │ ├── icon754.xml │ ├── icon755.xml │ ├── icon756.xml │ ├── icon757.xml │ ├── icon758.xml │ ├── icon759.xml │ ├── icon760.xml │ ├── icon761.xml │ ├── icon762.xml │ ├── icon763.xml │ ├── icon764.xml │ ├── icon765.xml │ ├── icon766.xml │ ├── icon767.xml │ ├── icon768.xml │ ├── icon769.xml │ ├── icon770.xml │ ├── icon771.xml │ ├── icon772.xml │ ├── icon773.xml │ ├── icon774.xml │ ├── icon775.xml │ ├── icon776.xml │ ├── icon777.xml │ ├── icon778.xml │ ├── icon779.xml │ ├── icon780.xml │ ├── icon781.xml │ ├── icon782.xml │ ├── icon783.xml │ ├── icon784.xml │ ├── icon785.xml │ ├── icon786.xml │ ├── icon787.xml │ ├── icon788.xml │ ├── icon789.xml │ ├── icon790.xml │ ├── icon791.xml │ ├── icon792.xml │ ├── icon793.xml │ ├── icon794.xml │ ├── icon795.xml │ ├── icon796.xml │ ├── icon797.xml │ ├── icon798.xml │ ├── icon799.xml │ ├── icon800.xml │ ├── icon801.xml │ ├── icon802.xml │ ├── icon803.xml │ ├── icon804.xml │ ├── icon805.xml │ ├── icon806.xml │ ├── icon807.xml │ ├── icon808.xml │ ├── icon809.xml │ ├── icon810.xml │ ├── icon811.xml │ ├── icon812.xml │ ├── icon813.xml │ ├── icon814.xml │ ├── icon815.xml │ ├── icon816.xml │ ├── icon817.xml │ ├── icon818.xml │ ├── icon819.xml │ ├── icon820.xml │ ├── icon821.xml │ ├── icon822.xml │ ├── icon823.xml │ ├── icon824.xml │ ├── icon825.xml │ ├── icon826.xml │ ├── icon827.xml │ ├── icon828.xml │ ├── icon829.xml │ ├── icon830.xml │ ├── icon831.xml │ ├── icon832.xml │ ├── icon833.xml │ ├── icon834.xml │ ├── icon835.xml │ ├── icon836.xml │ ├── icon837.xml │ ├── icon838.xml │ ├── icon839.xml │ ├── icon840.xml │ ├── icon841.xml │ ├── icon842.xml │ ├── icon843.xml │ ├── icon844.xml │ ├── icon845.xml │ ├── icon846.xml │ ├── icon847.xml │ ├── icon848.xml │ ├── icon849.xml │ ├── icon850.xml │ ├── icon851.xml │ ├── icon852.xml │ ├── icon853.xml │ ├── icon854.xml │ ├── icon855.xml │ ├── icon856.xml │ ├── icon857.xml │ ├── icon858.xml │ ├── icon859.xml │ ├── icon860.xml │ ├── icon861.xml │ ├── icon862.xml │ ├── icon863.xml │ ├── icon864.xml │ ├── icon865.xml │ ├── icon866.xml │ ├── icon867.xml │ ├── icon868.xml │ ├── icon869.xml │ ├── icon870.xml │ ├── icon871.xml │ ├── icon872.xml │ ├── icon873.xml │ ├── icon874.xml │ ├── icon875.xml │ ├── icon876.xml │ ├── icon877.xml │ ├── icon878.xml │ ├── icon879.xml │ ├── icon880.xml │ ├── icon881.xml │ ├── icon882.xml │ ├── icon883.xml │ ├── icon884.xml │ ├── icon885.xml │ ├── icon886.xml │ ├── icon887.xml │ ├── icon888.xml │ ├── icon889.xml │ ├── icon890.xml │ ├── icon891.xml │ ├── icon892.xml │ ├── icon893.xml │ ├── icon894.xml │ ├── icon895.xml │ ├── icon896.xml │ ├── icon897.xml │ ├── icon898.xml │ ├── icon899.xml │ ├── icon900.xml │ ├── icon901.xml │ ├── icon902.xml │ ├── icon903.xml │ ├── icon904.xml │ ├── icon905.xml │ ├── icon906.xml │ ├── icon907.xml │ ├── icon908.xml │ ├── icon909.xml │ ├── icon910.xml │ ├── icon911.xml │ ├── icon912.xml │ ├── icon913.xml │ ├── icon914.xml │ ├── icon915.xml │ ├── icon916.xml │ ├── icon917.xml │ ├── icon918.xml │ ├── icon919.xml │ ├── icon920.xml │ ├── icon921.xml │ ├── icon922.xml │ ├── icon923.xml │ ├── icon924.xml │ ├── icon925.xml │ ├── icon926.xml │ ├── icon927.xml │ ├── icon928.xml │ ├── icon929.xml │ ├── icon930.xml │ ├── icon931.xml │ ├── icon932.xml │ ├── icon933.xml │ ├── icon934.xml │ ├── icon935.xml │ ├── icon936.xml │ ├── icon937.xml │ ├── icon938.xml │ ├── icon939.xml │ ├── icon940.xml │ ├── icon941.xml │ ├── icon942.xml │ ├── icon943.xml │ ├── icon944.xml │ ├── icon945.xml │ ├── icon946.xml │ ├── icon947.xml │ ├── icon948.xml │ ├── icon949.xml │ ├── icon950.xml │ ├── icon951.xml │ ├── icon952.xml │ ├── icon953.xml │ ├── icon954.xml │ ├── icon955.xml │ ├── icon956.xml │ ├── icon957.xml │ ├── icon958.xml │ ├── icon959.xml │ ├── icon960.xml │ ├── icon961.xml │ ├── icon962.xml │ ├── icon963.xml │ ├── icon964.xml │ ├── icon965.xml │ ├── icon966.xml │ ├── icon967.xml │ ├── icon968.xml │ ├── icon969.xml │ ├── icon970.xml │ ├── icon971.xml │ ├── icon972.xml │ ├── icon973.xml │ ├── icon974.xml │ ├── icon975.xml │ ├── icon976.xml │ ├── icon977.xml │ ├── icon978.xml │ ├── icon979.xml │ ├── icon980.xml │ ├── icon981.xml │ ├── icon982.xml │ ├── icon983.xml │ ├── icon984.xml │ ├── icon985.xml │ ├── icon986.xml │ ├── icon987.xml │ ├── icon988.xml │ ├── icon989.xml │ ├── icon990.xml │ ├── icon991.xml │ ├── icon992.xml │ ├── icon993.xml │ ├── icon994.xml │ ├── icon995.xml │ ├── icon996.xml │ ├── icon997.xml │ ├── icon998.xml │ ├── icon999.xml │ └── icon_unknown.xml │ ├── mipmap-anydpi-v26 │ └── ic_launcher.xml │ ├── mipmap-hdpi │ └── ic_launcher.png │ ├── mipmap-mdpi │ └── ic_launcher.png │ ├── mipmap-xhdpi │ └── ic_launcher.png │ ├── mipmap-xxhdpi │ └── ic_launcher.png │ ├── mipmap-xxxhdpi │ └── ic_launcher.png │ ├── values-de-rCH │ └── strings.xml │ ├── values-de │ └── strings.xml │ ├── values-en-rGB │ └── strings.xml │ ├── values-es │ └── strings.xml │ ├── values-fr │ └── strings.xml │ ├── values-it │ └── strings.xml │ ├── values-ja │ └── strings.xml │ ├── values-ko │ └── strings.xml │ ├── values-night │ └── colors.xml │ ├── values-nl │ └── strings.xml │ ├── values-pl │ └── strings.xml │ ├── values-pt-rBR │ └── strings.xml │ ├── values-pt │ └── strings.xml │ ├── values-ru │ └── strings.xml │ ├── values-tr │ └── strings.xml │ ├── values-uk │ └── strings.xml │ ├── values-zh-rCN │ └── strings.xml │ ├── values │ ├── colors.xml │ ├── strings.xml │ ├── styles.xml │ └── themes.xml │ └── xml │ └── shortcuts.xml ├── build.gradle.kts ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties └── settings.gradle.kts /.gitignore: -------------------------------------------------------------------------------- 1 | crowdin.yml 2 | -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015 Roland Meyer 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Privacy Policy.md: -------------------------------------------------------------------------------- 1 | # Privacy Policy 2 | 3 | This app does not collect or store any user data. 4 | 5 | The app requires access to the device's location services in order to display the current speed. The user's location, speed or altitude is not recorded and not sent to any party. 6 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/.gitignore: -------------------------------------------------------------------------------- 1 | .gradle/ 2 | local.properties 3 | .idea/ 4 | build/ 5 | *.iml 6 | gradlew 7 | gradlew.bat 8 | app/build 9 | app/release 10 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/debug/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Speedometer Dev 4 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/debug/res/xml/shortcuts.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/Application.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho 2 | 3 | import android.app.Application 4 | import ch.rmy.android.statusbar_tacho.utils.Settings 5 | 6 | class Application : Application() { 7 | override fun onCreate() { 8 | super.onCreate() 9 | Settings.init(this) 10 | } 11 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/activities/Modal.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.activities 2 | 3 | enum class Modal { 4 | WELCOME, 5 | SETTINGS, 6 | TOP_SPEED, 7 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/activities/ToggleActivity.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.activities 2 | 3 | import android.app.Activity 4 | import android.content.Intent 5 | import android.os.Bundle 6 | import ch.rmy.android.statusbar_tacho.activities.SettingsActivity.Companion.EXTRA_ENABLE 7 | import ch.rmy.android.statusbar_tacho.extensions.context 8 | 9 | import ch.rmy.android.statusbar_tacho.services.SpeedometerService 10 | import ch.rmy.android.statusbar_tacho.utils.PermissionManager 11 | import ch.rmy.android.statusbar_tacho.utils.Settings 12 | 13 | class ToggleActivity : Activity() { 14 | 15 | private val permissionManager: PermissionManager by lazy { 16 | PermissionManager(context) 17 | } 18 | 19 | public override fun onCreate(savedInstanceState: Bundle?) { 20 | super.onCreate(savedInstanceState) 21 | 22 | if (permissionManager.hasPermission()) { 23 | val newState = !Settings.isRunning 24 | SpeedometerService.setRunningState(context, newState) 25 | Settings.isRunning = newState 26 | } else { 27 | startActivity( 28 | Intent(this, SettingsActivity::class.java) 29 | .putExtra(EXTRA_ENABLE, true) 30 | ) 31 | } 32 | finish() 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/activities/WelcomeDialog.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.activities 2 | 3 | import androidx.compose.material3.AlertDialog 4 | import androidx.compose.material3.Text 5 | import androidx.compose.material3.TextButton 6 | import androidx.compose.runtime.Composable 7 | import androidx.compose.ui.res.stringResource 8 | import androidx.compose.ui.tooling.preview.Preview 9 | import ch.rmy.android.statusbar_tacho.R 10 | 11 | @Composable 12 | fun WelcomeDialog( 13 | onDismissRequest: () -> Unit, 14 | ) { 15 | AlertDialog( 16 | onDismissRequest = onDismissRequest, 17 | confirmButton = { 18 | TextButton( 19 | onClick = onDismissRequest, 20 | ) { 21 | Text(stringResource(R.string.button_ok)) 22 | } 23 | }, 24 | title = { 25 | Text(stringResource(R.string.intro_title)) 26 | }, 27 | text = { 28 | Text(stringResource(R.string.intro_message)) 29 | }, 30 | ) 31 | } 32 | 33 | @Preview 34 | @Composable 35 | private fun WelcomeDialog_Preview() { 36 | WelcomeDialog( 37 | onDismissRequest = {}, 38 | ) 39 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/extensions/Extensions.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.extensions 2 | 3 | import android.app.Activity 4 | import android.app.Service 5 | import android.content.Context 6 | import androidx.compose.foundation.interaction.MutableInteractionSource 7 | import androidx.compose.foundation.interaction.PressInteraction 8 | import androidx.compose.runtime.Composable 9 | import androidx.compose.runtime.LaunchedEffect 10 | import androidx.compose.runtime.remember 11 | import ch.rmy.android.statusbar_tacho.utils.Destroyer 12 | import kotlinx.coroutines.Job 13 | 14 | fun Job.ownedBy(destroyer: Destroyer) { 15 | destroyer.own { 16 | cancel() 17 | } 18 | } 19 | 20 | val Activity.context: Context 21 | get() = this 22 | 23 | val Service.context: Context 24 | get() = this 25 | 26 | @Composable 27 | fun clickOnlyInteractionSource(onClick: () -> Unit) = remember { MutableInteractionSource() } 28 | .also { interactionSource -> 29 | LaunchedEffect(interactionSource) { 30 | interactionSource.interactions.collect { 31 | if (it is PressInteraction.Release) { 32 | onClick() 33 | } 34 | } 35 | } 36 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/icons/IconProvider.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.icons 2 | 3 | import android.annotation.SuppressLint 4 | import android.content.Context 5 | import android.content.res.Resources 6 | import androidx.annotation.DrawableRes 7 | import java.util.Locale 8 | 9 | class IconProvider(context: Context) { 10 | 11 | private val resources: Resources = context.resources 12 | private val packageName: String = context.packageName 13 | 14 | @SuppressLint("DiscouragedApi") 15 | @DrawableRes 16 | fun getIconForNumber(number: Int): Int = 17 | String.format(Locale.US, RES_FORMAT, number.coerceIn(0, MAX_VALUE)) 18 | .let { iconName -> 19 | resources.getIdentifier(iconName, RES_TYPE, packageName) 20 | } 21 | 22 | companion object { 23 | 24 | private const val MAX_VALUE = 999 25 | private const val RES_FORMAT = "icon%03d" 26 | private const val RES_TYPE = "drawable" 27 | 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/location/SpeedState.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.location 2 | 3 | sealed interface SpeedState { 4 | data class SpeedChanged(val speed: Float) : SpeedState 5 | data object SpeedUnavailable : SpeedState 6 | data object GPSDisabled : SpeedState 7 | data object Disabled : SpeedState 8 | } 9 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/receivers/DeviceBootReceiver.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.receivers 2 | 3 | 4 | import android.content.BroadcastReceiver 5 | import android.content.Context 6 | import android.content.Intent 7 | import ch.rmy.android.statusbar_tacho.services.SpeedometerService 8 | import ch.rmy.android.statusbar_tacho.utils.Settings 9 | 10 | class DeviceBootReceiver : BroadcastReceiver() { 11 | 12 | override fun onReceive(context: Context, intent: Intent) { 13 | if (intent.action != Intent.ACTION_BOOT_COMPLETED) { 14 | return 15 | } 16 | if (Settings.isRunning) { 17 | SpeedometerService.setRunningState(context, true) 18 | } 19 | } 20 | 21 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/receivers/DismissReceiver.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.receivers 2 | 3 | import android.content.BroadcastReceiver 4 | import android.content.Context 5 | import android.content.Intent 6 | import ch.rmy.android.statusbar_tacho.services.SpeedometerService 7 | import ch.rmy.android.statusbar_tacho.utils.Settings 8 | 9 | class DismissReceiver : BroadcastReceiver() { 10 | override fun onReceive(context: Context, intent: Intent) { 11 | if (intent.action != DISMISS_ACTION) { 12 | return 13 | } 14 | if (Settings.isRunning) { 15 | Settings.isRunning = false 16 | SpeedometerService.setRunningState(context, false) 17 | } 18 | } 19 | 20 | companion object { 21 | const val DISMISS_ACTION = "ch.rmy.android.statusbar_tacho.NOTIFICATION_DISMISSED" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/utils/Destroyable.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.utils 2 | 3 | interface Destroyable { 4 | 5 | fun destroy() 6 | 7 | } 8 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/utils/Destroyer.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.utils 2 | 3 | class Destroyer : Destroyable { 4 | 5 | private val destroyables = mutableListOf() 6 | 7 | fun own(destroyable: T): T { 8 | destroyables.add(destroyable) 9 | return destroyable 10 | } 11 | 12 | fun own(destroyable: () -> Unit) { 13 | destroyables.add(object : Destroyable { 14 | override fun destroy() { 15 | destroyable.invoke() 16 | } 17 | }) 18 | } 19 | 20 | override fun destroy() { 21 | for (destroyable in destroyables) { 22 | destroyable.destroy() 23 | } 24 | destroyables.clear() 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/utils/PermissionManager.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.utils 2 | 3 | import android.Manifest.permission.ACCESS_COARSE_LOCATION 4 | import android.Manifest.permission.ACCESS_FINE_LOCATION 5 | import android.Manifest.permission.POST_NOTIFICATIONS 6 | import android.app.Activity 7 | import android.content.Context 8 | import android.os.Build 9 | import androidx.core.app.ActivityCompat 10 | import androidx.core.content.PermissionChecker 11 | import androidx.core.content.PermissionChecker.PERMISSION_GRANTED 12 | 13 | class PermissionManager(private val context: Context) { 14 | 15 | fun hasPermission(): Boolean = 16 | (PermissionChecker.checkSelfPermission(context, ACCESS_FINE_LOCATION) == PERMISSION_GRANTED 17 | || PermissionChecker.checkSelfPermission(context, ACCESS_COARSE_LOCATION) == PERMISSION_GRANTED) 18 | 19 | fun requestPermissions(activity: Activity) { 20 | val permissions = 21 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { 22 | arrayOf(ACCESS_FINE_LOCATION, POST_NOTIFICATIONS) 23 | } else { 24 | arrayOf(ACCESS_FINE_LOCATION) 25 | } 26 | ActivityCompat.requestPermissions(activity, permissions, 0) 27 | } 28 | 29 | fun wasGranted(grantResults: IntArray): Boolean = 30 | grantResults.all { it == PERMISSION_GRANTED } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/utils/SpeedFormatter.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.utils 2 | 3 | import android.content.Context 4 | import ch.rmy.android.statusbar_tacho.R 5 | import ch.rmy.android.statusbar_tacho.units.SpeedUnit 6 | import java.util.Locale 7 | 8 | object SpeedFormatter { 9 | 10 | fun formatSpeed(context: Context, speed: Float, unit: SpeedUnit? = null): String { 11 | val speedString = if (speed < 100f) { 12 | String.format(Locale.getDefault(), "%1$.1f", speed) 13 | } else { 14 | String.format(Locale.getDefault(), "%1$.0f", speed) 15 | } 16 | return unit 17 | ?.let { 18 | context.getString( 19 | R.string.speed_format_with_unit, 20 | speedString, 21 | context.getString(it.nameRes) 22 | ) 23 | } 24 | ?: speedString 25 | } 26 | 27 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/utils/Trigonometry.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.utils 2 | 3 | import kotlin.math.cos 4 | import kotlin.math.sin 5 | 6 | object Trigonometry { 7 | 8 | fun sin(degrees: Float): Float = sin(toRadians(degrees)).toFloat() 9 | 10 | fun cos(degrees: Float): Float = cos(toRadians(degrees)).toFloat() 11 | 12 | private fun toRadians(degrees: Float): Double = degrees / 180 * Math.PI 13 | 14 | } 15 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/views/Gauge.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.views 2 | 3 | import androidx.compose.runtime.Composable 4 | import androidx.compose.ui.Modifier 5 | import androidx.compose.ui.viewinterop.AndroidView 6 | import androidx.compose.ui.viewinterop.NoOpUpdate 7 | 8 | @Composable 9 | fun Gauge( 10 | modifier: Modifier = Modifier, 11 | value: Float, 12 | maxValue: Float, 13 | markCount: Int, 14 | theme: GaugeTheme, 15 | showNumbers: Boolean, 16 | ) { 17 | AndroidView( 18 | modifier = modifier, 19 | factory = { context -> 20 | GaugeView(context, value, maxValue, markCount, theme) 21 | }, 22 | update = { gaugeView -> 23 | gaugeView.value = value 24 | gaugeView.maxValue = maxValue 25 | gaugeView.markCount = markCount 26 | gaugeView.theme = theme 27 | gaugeView.showNumbers = showNumbers 28 | }, 29 | onReset = NoOpUpdate, 30 | ) 31 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/views/GaugeScale.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.views 2 | 3 | import androidx.compose.runtime.Stable 4 | 5 | enum class GaugeScale( 6 | @Stable 7 | val factor: Float?, 8 | ) { 9 | FAST(1f), 10 | MEDIUM(4f), 11 | SLOW(10f), 12 | VERY_FAST(0.25f), 13 | DYNAMIC(null), 14 | ; 15 | 16 | companion object { 17 | val FACTORS = arrayOf(10f, 4f, 1f, 0.25f, 0.125f, 0.0625f) 18 | } 19 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/kotlin/ch/rmy/android/statusbar_tacho/views/ThemeId.kt: -------------------------------------------------------------------------------- 1 | package ch.rmy.android.statusbar_tacho.views 2 | 3 | enum class ThemeId { 4 | DEFAULT, 5 | BLUE, 6 | RED, 7 | BLACK_AND_WHITE, 8 | } -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/contact-email.txt: -------------------------------------------------------------------------------- 1 | android@rmy.ch 2 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/contact-website.txt: -------------------------------------------------------------------------------- 1 | https://www.rmy.ch/Contact -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/default-language.txt: -------------------------------------------------------------------------------- 1 | en-US 2 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/de-DE/full-description.txt: -------------------------------------------------------------------------------- 1 | Diese simple App zeigt deine aktuelle Geschwindigkeit (GPS) als Notification in der Statuszeile am oberen Rand deines Displays, so dass du dein Tempo immer im Blick hast, ohne zwischen Applikationen wechseln zu müssen. 2 | 3 | Bitte nutze diese App verantwortungsvoll und bedenke die Gefahren des Handygebrauchs während des Autofahrens. 4 | 5 | Diese App ist Open Source, finde Sie auf Github: https://github.com/Waboodoo/Status-Bar-Tachometer -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/de-DE/short-description.txt: -------------------------------------------------------------------------------- 1 | Zeigt deine aktuelle Geschwindigkeit als Notification in der Statuszeile -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/de-DE/title.txt: -------------------------------------------------------------------------------- 1 | Status Bar Tachometer -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/full-description.txt: -------------------------------------------------------------------------------- 1 | This simplistic app displays your current speed, obtained from GPS readings, as an icon in your status bar at the top of your screen. This speedometer allows you to check how fast you are travelling without having to switch between apps. 2 | 3 | Please be aware of the dangers of using your phone while driving. 4 | 5 | This app is open source, find it on Github: https://github.com/Waboodoo/Status-Bar-Tachometer 6 | 7 | If you have any questions, feature requests or other comments feel free to contact me: android@rmy.ch. 8 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/feature-graphic/header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/feature-graphic/header.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/icon/logo.icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/icon/logo.icon.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/01.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/02.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/03.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/04.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/play/listings/en-US/graphics/phone-screenshots/05.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/short-description.txt: -------------------------------------------------------------------------------- 1 | Displays your current speed in your status bar -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/en-US/title.txt: -------------------------------------------------------------------------------- 1 | Status Bar Speedometer -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/es-ES/full-description.txt: -------------------------------------------------------------------------------- 1 | Esta aplicación simplista muestra tu velocidad actual, obtenida de las lecturas del GPS, como un icono en tu barra de estado en la parte superior de tu pantalla. Este velocímetro te permite comprobar la velocidad a la que viajas sin tener que cambiar de aplicación. 2 | 3 | Ten en cuenta los peligros de usar tu teléfono mientras conduces. -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/es-ES/short-description.txt: -------------------------------------------------------------------------------- 1 | Muestra tu velocidad actual en tu barra de estado -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/es-ES/title.txt: -------------------------------------------------------------------------------- 1 | Velocímetro de barra de estado -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/fr-FR/full-description.txt: -------------------------------------------------------------------------------- 1 | Cette application simpliste affiche votre vitesse actuelle, obtenue à partir des lectures GPS, sous forme d'icône dans votre barre d'état en haut de votre écran. Ce compteur de vitesse vous permet de vérifier à quelle vitesse vous voyagez sans avoir à basculer entre les applications. 2 | 3 | Soyez conscient des dangers liés à l'utilisation de votre téléphone en conduisant. -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/fr-FR/short-description.txt: -------------------------------------------------------------------------------- 1 | Affiche votre vitesse actuelle dans votre barre de statut -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/fr-FR/title.txt: -------------------------------------------------------------------------------- 1 | Compteur de vitesse -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/pl-PL/full-description.txt: -------------------------------------------------------------------------------- 1 | Ta prosta aplikacja wyświetla Twoją aktualną prędkość otrzymaną z odczytów GPS jako ikonę na pasku stanu u góry ekranu. Prędkościomierz ten pozwala sprawdzić, jak szybko podróżujesz, bez konieczności przełączania się między aplikacjami. 2 | 3 | Należy pamiętać o niebezpieczeństwach związanych z używaniem telefonu podczas prowadzenia samochodu. 4 | 5 | Ta aplikacja jest otwartoźródłowa, znajdziesz ją na GitHubie: https://github.com/Waboodoo/Status-Bar-Tachometer 6 | 7 | Jeśli masz jakieś pytania, prośby o nowe funkcjonalności lub inne uwagi, nie wahaj się ze mną skontaktować: android@rmy.ch. 8 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/pl-PL/short-description.txt: -------------------------------------------------------------------------------- 1 | Wyświetla Twoją aktualną prędkość na pasku stanu -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/pl-PL/title.txt: -------------------------------------------------------------------------------- 1 | Prędkościomierz na pasku stanu -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/ru-RU/full-description.txt: -------------------------------------------------------------------------------- 1 | Это упрощенное приложение отображает вашу текущую скорость, полученную по показаниям GPS, в виде значка в строке состояния в верхней части экрана. Этот спидометр позволяет вам проверять, насколько быстро вы едете, не переключаясь между приложениями. 2 | 3 | Помните об опасности использования телефона во время вождения. -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/ru-RU/short-description.txt: -------------------------------------------------------------------------------- 1 | Отображает вашу текущую скорость в строке состояния -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/ru-RU/title.txt: -------------------------------------------------------------------------------- 1 | Строка состояния - Спидометр -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/tr-TR/full-description.txt: -------------------------------------------------------------------------------- 1 | Bu basit uygulama, GPS okuyarak elde edilen anlık hızınızı, ekranınızın üst kısmındaki durum çubuğunuzda bir simge olarak görüntüler. Bu hız göstergesi, uygulamalar arasında geçiş yapmak zorunda kalmadan ne kadar hızlı gittiğinizi görmenizi sağlar. 2 | 3 | Lütfen sürüş sırasında telefonunuzu kullanmanın tehlikeli olduğunu unutmayın. 4 | 5 | Bu uygulama açık kaynaklıdır, Github'da bulabilirsiniz: https://github.com/Waboodoo/Status-Bar-Tachometer 6 | 7 | Herhangi bir sorunuz, özellik isteğiniz veya başka yorumlarınız varsa benimle iletişime geçmekten çekinmeyin: android@rmy.ch 8 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/tr-TR/short-description.txt: -------------------------------------------------------------------------------- 1 | Durum çubuğunuzda anlık hızınızı görüntüler 2 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/play/listings/tr-TR/title.txt: -------------------------------------------------------------------------------- 1 | Durum Çubuğu Hız Göstergesi 2 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon000.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon001.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon002.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon003.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon004.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon005.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon006.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon007.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon009.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon010.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon011.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon012.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon014.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon015.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon016.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon017.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon021.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon024.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon027.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon037.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon040.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon041.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon042.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon044.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon045.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon047.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon051.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon054.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon057.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon061.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon067.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon070.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon071.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon072.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon073.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon074.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon075.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon076.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon077.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon079.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon091.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon097.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon101.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon104.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon107.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon110.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon111.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon112.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon114.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon115.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon117.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon121.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon124.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon127.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon140.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon141.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon142.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon144.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon145.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon147.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon151.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon154.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon157.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon170.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon171.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon172.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon174.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon175.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon177.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon211.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon214.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon217.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon241.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon244.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon247.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon271.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon274.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon277.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon401.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon404.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon407.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon410.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon411.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon412.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon414.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon415.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon417.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon421.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon424.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon427.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon440.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon441.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon442.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon444.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon445.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon447.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon451.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon454.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon457.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon470.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon471.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon472.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon474.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon475.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon477.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon511.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon514.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon517.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon541.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon544.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon547.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon571.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon574.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon577.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon677.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon701.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon704.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon707.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon710.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon711.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon712.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon714.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon715.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon717.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon721.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon724.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon727.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon740.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon741.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon742.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon744.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon745.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon747.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon751.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon754.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon757.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon770.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon771.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon772.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon774.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon775.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon777.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon977.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/drawable/icon_unknown.xml: -------------------------------------------------------------------------------- 1 | 6 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/values-de-rCH/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Schliessen 5 | 6 | Fuss pro Sekunde 7 | Schwarz und Weiss 8 | 9 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/values-en-rGB/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | kilometres per hour 5 | 6 | metres per second 7 | 8 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/values-night/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | #C0C0C0 5 | #FFFFFF 6 | #99FFFFFF 7 | 8 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #00000000 4 | #FF607D8B 5 | #FF37474F 6 | #141B1E 7 | #99141B1E 8 | 9 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/values/themes.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/app/src/main/res/xml/shortcuts.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 11 | 12 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/build.gradle.kts: -------------------------------------------------------------------------------- 1 | buildscript { 2 | repositories { 3 | mavenCentral() 4 | google() 5 | } 6 | dependencies { 7 | classpath(libs.android.gradle) 8 | classpath(libs.kotlin.gradle.plugin) 9 | } 10 | } 11 | 12 | plugins { 13 | alias(libs.plugins.compose.compiler) apply false 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | mavenCentral() 19 | google() 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /StatusBarSpeedometer/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.nonTransitiveRClass=false 4 | android.nonFinalResIds=false -------------------------------------------------------------------------------- /StatusBarSpeedometer/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Waboodoo/Status-Bar-Tachometer/88aa1fa03cf9f15db275f8f6fcccc1384fd50fb5/StatusBarSpeedometer/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /StatusBarSpeedometer/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionSha256Sum=544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip -------------------------------------------------------------------------------- /StatusBarSpeedometer/settings.gradle.kts: -------------------------------------------------------------------------------- 1 | include(":app") 2 | --------------------------------------------------------------------------------