Initial commit.
BIN
app/src/main/res/drawable-hdpi/fab_ic_call.png
Normal file
After Width: | Height: | Size: 572 B |
BIN
app/src/main/res/drawable-hdpi/ic_call_black_24dp.png
Normal file
After Width: | Height: | Size: 326 B |
BIN
app/src/main/res/drawable-hdpi/ic_verified_user_black_24dp.png
Normal file
After Width: | Height: | Size: 390 B |
BIN
app/src/main/res/drawable-mdpi/fab_ic_call.png
Normal file
After Width: | Height: | Size: 438 B |
BIN
app/src/main/res/drawable-mdpi/ic_call_black_24dp.png
Normal file
After Width: | Height: | Size: 244 B |
BIN
app/src/main/res/drawable-mdpi/ic_verified_user_black_24dp.png
Normal file
After Width: | Height: | Size: 272 B |
BIN
app/src/main/res/drawable-xhdpi/fab_ic_call.png
Normal file
After Width: | Height: | Size: 681 B |
BIN
app/src/main/res/drawable-xhdpi/ic_call_black_24dp.png
Normal file
After Width: | Height: | Size: 408 B |
BIN
app/src/main/res/drawable-xhdpi/ic_menu_dialpad_lt.png
Normal file
After Width: | Height: | Size: 893 B |
BIN
app/src/main/res/drawable-xhdpi/ic_verified_user_black_24dp.png
Normal file
After Width: | Height: | Size: 445 B |
BIN
app/src/main/res/drawable-xxhdpi/fab_ic_call.png
Normal file
After Width: | Height: | Size: 670 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_call_black_24dp.png
Normal file
After Width: | Height: | Size: 574 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_menu_dialpad_lt.png
Normal file
After Width: | Height: | Size: 225 B |
BIN
app/src/main/res/drawable-xxhdpi/ic_verified_user_black_24dp.png
Normal file
After Width: | Height: | Size: 634 B |
BIN
app/src/main/res/drawable-xxxhdpi/fab_ic_call.png
Normal file
After Width: | Height: | Size: 905 B |
BIN
app/src/main/res/drawable-xxxhdpi/ic_call_black_24dp.png
Normal file
After Width: | Height: | Size: 758 B |
After Width: | Height: | Size: 788 B |
18
app/src/main/res/layout/activity_steps.xml
Normal file
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
|
||||
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<com.viewpagerindicator.UnderlinePageIndicator
|
||||
android:id="@+id/indicator"
|
||||
style="@style/UnderlinePageIndicator"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="5dp" />
|
||||
</LinearLayout>
|
35
app/src/main/res/layout/fragment_steps.xml
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:fillViewport="true">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="16dp"
|
||||
android:weightSum="1"
|
||||
android:orientation="vertical">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/frag_steps_title"
|
||||
style="?android:textAppearanceLarge"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/frag_steps"
|
||||
style="?android:textAppearanceLarge"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:lineSpacingMultiplier="1.2"
|
||||
android:gravity="center"
|
||||
android:text=""
|
||||
android:layout_weight="0.8"
|
||||
android:textSize="78sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</ScrollView>
|
15
app/src/main/res/menu/menu_main.xml
Normal file
|
@ -0,0 +1,15 @@
|
|||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
tools:context=".MainActivity">
|
||||
<item
|
||||
android:id="@+id/action_config"
|
||||
android:orderInCategory="100"
|
||||
android:title="@string/action_config"
|
||||
app:showAsAction="never" />
|
||||
<item
|
||||
android:id="@+id/action_about"
|
||||
android:orderInCategory="101"
|
||||
android:title="@string/action_about"
|
||||
app:showAsAction="never" />
|
||||
</menu>
|
BIN
app/src/main/res/mipmap-hdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 13 KiB |
272
app/src/main/res/raw/dks_1802_epd.json
Normal file
|
@ -0,0 +1,272 @@
|
|||
{
|
||||
"params": {
|
||||
"name": "DKS 1802-EPD",
|
||||
"star": "*",
|
||||
"hash": "#",
|
||||
"end": "0 + #",
|
||||
"size": 4
|
||||
},
|
||||
"opts": [
|
||||
{
|
||||
"title": "Set Relay Strike Time",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Relay (1 or 2)",
|
||||
"min": 1,
|
||||
"max": 2,
|
||||
"size": 1
|
||||
},
|
||||
{
|
||||
"hint": "Strike Time (00=1/4...99 seconds)",
|
||||
"min": 0,
|
||||
"max": 99,
|
||||
"size": 2
|
||||
}
|
||||
],
|
||||
"dtmf": "*03[MASTER],[FIELD:1]*,[FIELD:2]*"
|
||||
},
|
||||
{
|
||||
"title": "Set Open Tone On/Off",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "1=ON 0=OFF",
|
||||
"min": 0,
|
||||
"max": 1,
|
||||
"size": 1
|
||||
}
|
||||
],
|
||||
"dtmf": "*17[MASTER],[FIELD:1]*"
|
||||
},
|
||||
{
|
||||
"title": "Set Talk Time",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "001-255 seconds",
|
||||
"min": 1,
|
||||
"max": 255,
|
||||
"size": 3
|
||||
}
|
||||
],
|
||||
"dtmf": "*08[MASTER],[FIELD:1]*"
|
||||
},
|
||||
{
|
||||
"title": "Set Number of Rings to Answer",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Number of Rings",
|
||||
"min": 1,
|
||||
"max": 99,
|
||||
"size": 2
|
||||
}
|
||||
],
|
||||
"dtmf": "*18[MASTER],[FIELD:1]*"
|
||||
},
|
||||
{
|
||||
"title": "Set PBX Line Access Code",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Line Access Code Number",
|
||||
"min": 1,
|
||||
"max": 9,
|
||||
"size": 1
|
||||
}
|
||||
],
|
||||
"dtmf": "*21[MASTER],[FIELD:1]*"
|
||||
},
|
||||
{
|
||||
"title": "Delete 4-Digit Entry Code",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Entry Code",
|
||||
"size": 4
|
||||
}
|
||||
],
|
||||
"dtmf": "*14[MASTER],[FIELD:1]*"
|
||||
},
|
||||
{
|
||||
"title": "Add 4-Digit Entry Code",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Entry Code",
|
||||
"size": 4
|
||||
}
|
||||
],
|
||||
"dtmf": "*02[MASTER],[FIELD:1]*"
|
||||
},
|
||||
{
|
||||
"title": "Add Name",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Directory Code",
|
||||
"size": 3
|
||||
},
|
||||
{
|
||||
"hint": "Name",
|
||||
"alpha": true,
|
||||
"size": 11
|
||||
}
|
||||
],
|
||||
"nodial": true,
|
||||
"dtmf": "*66[MASTER],[FIELD:1]*,[FIELD:2]*"
|
||||
},
|
||||
{
|
||||
"title": "Add 7-digit Phone Number",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Directory Code",
|
||||
"size": 3
|
||||
},
|
||||
{
|
||||
"hint": "Phone Number",
|
||||
"hash": true,
|
||||
"size": 7
|
||||
}
|
||||
],
|
||||
"dtmf": "*01[MASTER],[FIELD:1]*,[FIELD:2]*"
|
||||
},
|
||||
{
|
||||
"title": "Set Area Codes",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "2-Digit Area Code Ref Number",
|
||||
"min": 1,
|
||||
"max" : 15,
|
||||
"size": 2
|
||||
},
|
||||
{
|
||||
"hint": "Area Code (e.g. 1800 or #800)",
|
||||
"hash" : true,
|
||||
"size": 4,
|
||||
"min": 1,
|
||||
"max": 15
|
||||
}
|
||||
],
|
||||
"dtmf": "*24[MASTER],[FIELD:1]*,[FIELD:2]*"
|
||||
},
|
||||
{
|
||||
"title": "Add Phone Number w/ Area Code",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Directory Code",
|
||||
"size": 3
|
||||
},
|
||||
{
|
||||
"hint": "Area Code",
|
||||
"size": 2,
|
||||
"min": 1,
|
||||
"max": 15
|
||||
},
|
||||
{
|
||||
"hint": "Phone Number",
|
||||
"hash": true,
|
||||
"size": 7
|
||||
}
|
||||
],
|
||||
"dtmf": "*41[MASTER],[FIELD:1]*,[FIELD:2]*,[FIELD:3]*"
|
||||
},
|
||||
{
|
||||
"title": "Remote Relay Activation",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Open=9, Hold=8, Release=7, 1hr=6",
|
||||
"size": 1,
|
||||
"min": 6,
|
||||
"max": 9
|
||||
}
|
||||
],
|
||||
"dtmf": "*16[MASTER],[FIELD:1]*"
|
||||
},
|
||||
{
|
||||
"title": "Set Welcome Message",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Message (Line 1)",
|
||||
"size": 16,
|
||||
"alpha" : true
|
||||
},
|
||||
{
|
||||
"hint": "Message (Line 2)",
|
||||
"size": 16,
|
||||
"alpha" : true
|
||||
},
|
||||
{
|
||||
"hint": "Message (Line 3)",
|
||||
"size": 16,
|
||||
"alpha" : true
|
||||
}
|
||||
],
|
||||
"nodial": true,
|
||||
"dtmf": "*80[MASTER],[FIELD:1]*,[FIELD:2]*,[FIELD:3]*"
|
||||
},
|
||||
{
|
||||
"title": "Set Instruction Message",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Message (Line 1)",
|
||||
"size": 16,
|
||||
"alpha" : true
|
||||
},
|
||||
{
|
||||
"hint": "Message (Line 2)",
|
||||
"size": 16,
|
||||
"alpha" : true
|
||||
},
|
||||
{
|
||||
"hint": "Message (Line 3)",
|
||||
"size": 16,
|
||||
"alpha" : true
|
||||
}
|
||||
],
|
||||
"nodial": true,
|
||||
"dtmf": "*81[MASTER],[FIELD:1]*,[FIELD:2]*,[FIELD:3]*"
|
||||
},
|
||||
{
|
||||
"title": "Set Time Clock",
|
||||
"fields": [
|
||||
{
|
||||
"hint": "Hour (01..12)",
|
||||
"size": 2,
|
||||
"min": 1,
|
||||
"max": 12
|
||||
},
|
||||
{
|
||||
"hint": "Minutes (00..59)",
|
||||
"size": 2,
|
||||
"min": 0,
|
||||
"max": 59
|
||||
},
|
||||
{
|
||||
"hint": "AM=0 PM=1",
|
||||
"size": 1,
|
||||
"min": 0,
|
||||
"max": 1
|
||||
},
|
||||
{
|
||||
"hint": "Month (01..12)",
|
||||
"size": 2,
|
||||
"min": 1,
|
||||
"max": 12
|
||||
},
|
||||
{
|
||||
"hint": "Day of Month (01..31)",
|
||||
"size": 2,
|
||||
"min": 1,
|
||||
"max": 31
|
||||
},
|
||||
{
|
||||
"hint": "Year (Even=00, Odd=01)",
|
||||
"size": 2,
|
||||
"min": 0,
|
||||
"max": 1
|
||||
},
|
||||
{
|
||||
"hint": "Day of Week (Sun=1..Sat=7)",
|
||||
"size": 1,
|
||||
"min": 1,
|
||||
"max": 7
|
||||
}
|
||||
],
|
||||
"dtmf": "*33[MASTER],[FIELD:1][FIELD:2]*,[FIELD:3]*,[FIELD:4]*,[FIELD:5]*,[FIELD:6]*,[FIELD:7]*"
|
||||
}
|
||||
]
|
||||
}
|
6
app/src/main/res/values-w820dp/dimens.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<resources>
|
||||
<!-- Example customization of dimensions originally defined in res/values/dimens.xml
|
||||
(such as screen margins) for screens with more than 820dp of available width. This
|
||||
would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
|
||||
<dimen name="activity_horizontal_margin">64dp</dimen>
|
||||
</resources>
|
6
app/src/main/res/values/colors.xml
Normal file
|
@ -0,0 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="colorPrimary">#3F51B5</color>
|
||||
<color name="colorPrimaryDark">#303F9F</color>
|
||||
<color name="colorAccent">#3F51B5</color>
|
||||
</resources>
|
5
app/src/main/res/values/dimens.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<resources>
|
||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||
</resources>
|
23
app/src/main/res/values/strings.xml
Normal file
|
@ -0,0 +1,23 @@
|
|||
<resources xmlns:xliff="http://schemas.android.com/tools">
|
||||
<string name="about_message"><p><b>Version <xliff:g id="type">%1$s</xliff:g></b></p><p>Developed by <a href=\"http://erik.thauvin.net/\"><b>Erik C. Thauvin</b></a>. See all my apps <a href=\"http://mobile.thauvin.net/android/\"><b>here</b></a>.</p><a href=\"http://m.thauvin.net/android\"><b>m.thauvin.net/android</b></a></string>
|
||||
<string name="action_about">About</string>
|
||||
<string name="action_config">Configurations</string>
|
||||
<string name="alert_config_error">Configuration Errors</string>
|
||||
<string name="app_name">TES Remote Programmer</string>
|
||||
<string name="dialog_import">Import</string>
|
||||
<string name="error_digit">digit</string>
|
||||
<string name="error_invalid_dtmf">Invalid DTMF: <xliff:g id="type">%1$s</xliff:g></string>
|
||||
<string name="error_invalid_field">Missing or invalid fields data.</string>
|
||||
<string name="error_invalid_size">Invalid: <xliff:g id="size">%1$d</xliff:g> <xliff:g id="type">%2$s</xliff:g> required</string>
|
||||
<string name="error_required">Required</string>
|
||||
<string name="hint_master_code">Master Code</string>
|
||||
<string name="hint_phone_number">Phone Number</string>
|
||||
<string name="programming_heading">PROGRAMMING</string>
|
||||
<string name="title_template_step">Step <xliff:g id="step_number">%1$d</xliff:g> of <xliff:g id="steps_count">%2$d</xliff:g></string>
|
||||
<string name="validate_invalid_attr"><p><b>opts[<xliff:g id="opts">%1$d</xliff:g>]</b>, <b>fields[<xliff:g id="field">%2$d</xliff:g>]</b>: <font color=\"red\"><xliff:g id="attr">%3$s</xliff:g></font> invalid</string>
|
||||
<string name="validate_invalid_dtmf"><p><b>opts[<xliff:g id="opts">%1$d</xliff:g>]</b>, <font color=\"red\">dtmf</font> invalid:<br>    <font color=\"red\"><small><xliff:g id="dtmf">%2$s</xliff:g></small></font></p></string>
|
||||
<string name="validate_invalid_param"><p><b>params</b>: <font color=\"red\"><xliff:g id="param">%1$s</xliff:g></font> invalid</p></string>
|
||||
<string name="validate_missing_fields"><p><b>opts[<xliff:g id="opts">%1$d</xliff:g>]</b>: <font color=\"red\">fields</font> missing</string>
|
||||
<string name="validate_missing_param"><p><p><b>params</b>: <font color=\"red\"><xliff:g id="param">%1$s</xliff:g></font> missing</p></string>
|
||||
<string name="validate_missing_ops"><font color=\"red\">opts</font> missing.</string>
|
||||
</resources>
|
13
app/src/main/res/values/styles.xml
Normal file
|
@ -0,0 +1,13 @@
|
|||
<resources>
|
||||
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
|
||||
<item name="colorPrimary">@color/colorPrimary</item>
|
||||
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
|
||||
<item name="colorAccent">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
<style name="UnderlinePageIndicator">
|
||||
<item name="selectedColor">@color/colorAccent</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
5
app/src/main/res/xml/mybackupscheme.xml
Normal file
|
@ -0,0 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<full-backup-content>
|
||||
<include domain="file" path="configurations.dat"/>
|
||||
<include domain="file" path="config.dat"/>
|
||||
</full-backup-content>
|