PageRenderTime 29ms CodeModel.GetById 15ms app.highlight 9ms RepoModel.GetById 1ms app.codeStats 0ms

/talkback_preics/res/raw/speechstrategy_apps.xml

http://eyes-free.googlecode.com/
XML | 1036 lines | 905 code | 84 blank | 47 comment | 0 complexity | 7be348e278cabdd7a86a471f3c0073ce MD5 | raw file
   1<?xml version="1.0" encoding="UTF-8"?>
   2  <ss:speechstrategy xmlns:ss="http://www.google.android.marvin.talkback.com/speechstrategy" 
   3  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   4  xsi:schemaLocation="http://www.google.android.marvin.talkback.com/speechstrategy speechstrategy.xsd">
   5
   6  <!-- This file contains speech strategy rules for built-in Android apps. -->
   7  <!-- They override the default handlers to work around apps in current -->
   8  <!-- and previous Android versions that should have had more -->
   9  <!-- contentDescriptions. -->
  10
  11  <!-- Special case to not speak when voice search window pops up -->
  12  <ss:rule>
  13    <ss:filter>
  14      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
  15      <ss:className>com.google.android.voicesearch.RecognitionActivity</ss:className>
  16    </ss:filter>
  17  </ss:rule>
  18  <ss:rule>
  19    <ss:filter>
  20      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
  21      <ss:activity>com.google.android.voicesearch.RecognitionActivity</ss:activity>
  22      <ss:className>android.widget.TextView</ss:className>
  23    </ss:filter>
  24  </ss:rule>
  25
  26  <!-- AlertController$RecycleListView - Settings - checked -->
  27  <ss:rule>
  28    <ss:filter>
  29      <ss:eventType>TYPE_VIEW_SELECTED</ss:eventType>
  30      <ss:className>com.android.internal.app.AlertController$RecycleListView</ss:className>
  31      <ss:checked>true</ss:checked>
  32    </ss:filter>
  33    <ss:formatter>
  34      <ss:template>@com.google.android.marvin.talkback:string/template_compound_button_checked</ss:template>
  35      <ss:property>text</ss:property>
  36    </ss:formatter>
  37  </ss:rule>
  38
  39  <!-- Special case for not speaking the 'Speak Now' dialog.       -->
  40  <!-- Announcing this dialog is caught by the speech recognition. -->
  41  <ss:rule>
  42    <ss:filter>
  43      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
  44      <ss:className>android.widget.TextView</ss:className>
  45      <ss:packageName>com.google.android.voicesearch</ss:packageName>
  46      <ss:currentItemIndex>0</ss:currentItemIndex>
  47      <ss:itemCount>3</ss:itemCount>
  48    </ss:filter>
  49    <ss:formatter>
  50      <ss:template>@com.google.android.marvin.talkback:string/earcon_progress</ss:template>
  51    </ss:formatter>
  52  </ss:rule>
  53
  54  <!--Locking the screen -->
  55  <ss:rule>
  56    <ss:filter>
  57      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
  58      <ss:className>com.android.internal.policy.impl.LockScreen</ss:className>
  59      <ss:packageName>android</ss:packageName>
  60    </ss:filter>
  61  </ss:rule>
  62
  63  <!-- Special case for not speaking the Lock screen dialog.       -->
  64  <!-- We drop this event on the floor without any action          -->
  65  <ss:rule>
  66    <ss:filter>
  67      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
  68      <ss:className>com.android.internal.policy.impl.KeyguardViewManager$KeyguardViewHost</ss:className>
  69      <ss:packageName>android</ss:packageName>
  70    </ss:filter>
  71  </ss:rule>
  72
  73  <!-- Special case for not speaking the Lock screen dialog.       -->
  74  <!-- We drop this event on the floor without any action          -->
  75  <ss:rule>
  76    <ss:filter>
  77      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
  78      <ss:className>com.android.internal.policy.impl.LockPatternKeyguardView</ss:className>
  79      <ss:packageName>android</ss:packageName>
  80    </ss:filter>
  81  </ss:rule>
  82
  83  <!-- BubbleTextView - Launcher2 application - icons -->
  84  <ss:rule>
  85    <ss:filter>
  86      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
  87      <ss:className>com.android.launcher2.BubbleTextView</ss:className>
  88      <ss:packageName>com.android.launcher</ss:packageName>
  89    </ss:filter>
  90    <ss:formatter>
  91      <ss:property>text</ss:property>
  92    </ss:formatter>
  93  </ss:rule>
  94
  95  <!-- BubbleTextView - Launcher long-press icon to drag it -->
  96  <ss:rule>
  97    <ss:filter>
  98      <ss:eventType>TYPE_VIEW_LONG_CLICKED</ss:eventType>
  99      <ss:className>com.android.launcher2.BubbleTextView</ss:className>
 100      <ss:packageName>com.android.launcher</ss:packageName>
 101    </ss:filter>
 102    <ss:formatter>
 103      <ss:template>@com.google.android.marvin.talkback:string/template_dragging_icon</ss:template>
 104      <ss:property>text</ss:property>
 105    </ss:formatter>
 106  </ss:rule>
 107
 108  <!-- BubbleTextView - Launcher2 long-press icon to drag it -->
 109  <ss:rule>
 110    <ss:filter>
 111      <ss:eventType>TYPE_VIEW_LONG_CLICKED</ss:eventType>
 112      <ss:className>com.android.launcher2.BubbleTextView</ss:className>
 113      <ss:packageName>com.android.launcher2</ss:packageName>
 114    </ss:filter>
 115    <ss:formatter>
 116      <ss:template>@com.google.android.marvin.talkback:string/template_dragging_icon</ss:template>
 117      <ss:property>text</ss:property>
 118    </ss:formatter>
 119  </ss:rule>
 120
 121  <!-- LauncherAppWidgetHostView - Launcher - long-press to drag widget -->
 122  <ss:rule>
 123    <ss:filter>
 124      <ss:eventType>TYPE_VIEW_LONG_CLICKED</ss:eventType>
 125      <ss:className>com.android.launcher2.LauncherAppWidgetHostView</ss:className>
 126      <ss:packageName>com.android.launcher</ss:packageName>
 127    </ss:filter>
 128    <ss:formatter>
 129      <ss:template>@com.google.android.marvin.talkback:string/value_dragging_widget</ss:template>
 130    </ss:formatter>
 131  </ss:rule>
 132
 133  <!-- LauncherAppWidgetHostView - Launcher 2 - long-press to drag widget -->
 134  <ss:rule>
 135    <ss:filter>
 136      <ss:eventType>TYPE_VIEW_LONG_CLICKED</ss:eventType>
 137      <ss:className>com.android.launcher2.LauncherAppWidgetHostView</ss:className>
 138      <ss:packageName>com.android.launcher2</ss:packageName>
 139    </ss:filter>
 140    <ss:formatter>
 141      <ss:template>@com.google.android.marvin.talkback:string/value_dragging_widget</ss:template>
 142    </ss:formatter>
 143  </ss:rule>
 144
 145  <!-- IconMenuItemView - Launcher / Launcher2 application - options -->
 146  <ss:rule>
 147    <ss:filter>
 148      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 149      <ss:className>com.android.internal.view.menu.IconMenuItemView</ss:className>
 150      <ss:packageName>com.android.launcher</ss:packageName>
 151    </ss:filter>
 152    <ss:formatter>
 153      <ss:property>text</ss:property>
 154    </ss:formatter>
 155  </ss:rule>
 156
 157  <!-- TextView - Google Quick Search Box widget-->
 158  <ss:rule>
 159    <ss:filter>
 160      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 161      <ss:className>android.widget.TextView</ss:className>
 162      <ss:packageName>com.google.android.googlequicksearchbox</ss:packageName>
 163    </ss:filter>
 164    <ss:formatter>
 165      <ss:template>@com.google.android.marvin.talkback:string/template_search_box</ss:template>
 166      <ss:property>text</ss:property>
 167    </ss:formatter>
 168  </ss:rule>
 169
 170  <!-- TextView - Launcher application - icons -->
 171  <ss:rule>
 172    <ss:filter>
 173      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 174      <ss:className>com.android.launcher.BubbleTextView</ss:className>
 175      <ss:packageName>com.android.launcher</ss:packageName>
 176    </ss:filter>
 177    <ss:formatter>
 178      <ss:property>text</ss:property>
 179    </ss:formatter>
 180  </ss:rule>
 181
 182  <!-- TextView - Launcher application - search box (edge case) -->
 183  <ss:rule>
 184    <ss:filter>
 185      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 186      <ss:className>android.widget.TextView</ss:className>
 187      <ss:packageName>com.android.launcher</ss:packageName>
 188    </ss:filter>
 189    <ss:formatter>
 190      <ss:template>@com.google.android.marvin.talkback:string/template_search_box</ss:template>
 191      <ss:property>text</ss:property>
 192    </ss:formatter>
 193  </ss:rule>
 194
 195  <!-- SoftInputWindow -->
 196  <ss:rule>
 197    <ss:filter>
 198      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
 199      <ss:className>android.inputmethodservice.SoftInputWindow</ss:className>
 200    </ss:filter>
 201    <ss:formatter>
 202      <ss:template>@com.google.android.marvin.talkback:string/value_input_method_shown</ss:template>
 203    </ss:formatter>
 204  </ss:rule>
 205
 206  <!-- Time picker - FROYO -->
 207  <ss:rule>
 208    <ss:filter>
 209      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 210      <ss:className>android.widget.NumberPickerButton</ss:className>
 211      <ss:currentItemIndex>0</ss:currentItemIndex>
 212      <ss:itemCount>11</ss:itemCount>
 213    </ss:filter>
 214    <ss:formatter>
 215      <ss:template>@com.google.android.marvin.talkback:string/value_increment_hours</ss:template>
 216    </ss:formatter>
 217  </ss:rule>
 218
 219  <ss:rule>
 220    <ss:filter>
 221      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 222      <ss:className>android.widget.NumberPickerButton</ss:className>
 223      <ss:currentItemIndex>4</ss:currentItemIndex>
 224      <ss:itemCount>11</ss:itemCount>
 225    </ss:filter>
 226    <ss:formatter>
 227      <ss:template>@com.google.android.marvin.talkback:string/value_increment_minutes</ss:template>
 228    </ss:formatter>
 229  </ss:rule>
 230
 231  <ss:rule>
 232    <ss:filter>
 233      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 234      <ss:className>android.widget.NumberPickerButton</ss:className>
 235      <ss:currentItemIndex>2</ss:currentItemIndex>
 236      <ss:itemCount>11</ss:itemCount>
 237    </ss:filter>
 238    <ss:formatter>
 239      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_hours</ss:template>
 240    </ss:formatter>
 241  </ss:rule>
 242
 243  <ss:rule>
 244    <ss:filter>
 245      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 246      <ss:className>android.widget.NumberPickerButton</ss:className>
 247      <ss:currentItemIndex>6</ss:currentItemIndex>
 248      <ss:itemCount>11</ss:itemCount>
 249    </ss:filter>
 250    <ss:formatter>
 251      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_minutes</ss:template>
 252    </ss:formatter>
 253  </ss:rule>
 254
 255  <!-- Date picker - FROYO -->
 256  <ss:rule>
 257    <ss:filter>
 258      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 259      <ss:className>android.widget.NumberPickerButton</ss:className>
 260      <ss:currentItemIndex>0</ss:currentItemIndex>
 261      <ss:itemCount>14</ss:itemCount>
 262    </ss:filter>
 263    <ss:formatter>
 264      <ss:template>@com.google.android.marvin.talkback:string/value_increment_month</ss:template>
 265    </ss:formatter>
 266  </ss:rule>
 267
 268  <ss:rule>
 269    <ss:filter>
 270      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 271      <ss:className>android.widget.NumberPickerButton</ss:className>
 272      <ss:currentItemIndex>4</ss:currentItemIndex>
 273      <ss:itemCount>14</ss:itemCount>
 274    </ss:filter>
 275    <ss:formatter>
 276      <ss:template>@com.google.android.marvin.talkback:string/value_increment_day</ss:template>
 277    </ss:formatter>
 278  </ss:rule>
 279
 280  <ss:rule>
 281    <ss:filter>
 282      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 283      <ss:className>android.widget.NumberPickerButton</ss:className>
 284      <ss:currentItemIndex>8</ss:currentItemIndex>
 285      <ss:itemCount>14</ss:itemCount>
 286    </ss:filter>
 287    <ss:formatter>
 288      <ss:template>@com.google.android.marvin.talkback:string/value_increment_year</ss:template>
 289    </ss:formatter>
 290  </ss:rule>
 291
 292  <ss:rule>
 293    <ss:filter>
 294      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 295      <ss:className>android.widget.NumberPickerButton</ss:className>
 296      <ss:currentItemIndex>2</ss:currentItemIndex>
 297      <ss:itemCount>14</ss:itemCount>
 298    </ss:filter>
 299    <ss:formatter>
 300      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_month</ss:template>
 301    </ss:formatter>
 302  </ss:rule>
 303
 304  <ss:rule>
 305    <ss:filter>
 306      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 307      <ss:className>android.widget.NumberPickerButton</ss:className>
 308      <ss:currentItemIndex>6</ss:currentItemIndex>
 309      <ss:itemCount>14</ss:itemCount>
 310    </ss:filter>
 311    <ss:formatter>
 312      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_day</ss:template>
 313    </ss:formatter>
 314  </ss:rule>
 315
 316  <ss:rule>
 317    <ss:filter>
 318      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 319      <ss:className>android.widget.NumberPickerButton</ss:className>
 320      <ss:currentItemIndex>10</ss:currentItemIndex>
 321      <ss:itemCount>14</ss:itemCount>
 322    </ss:filter>
 323    <ss:formatter>
 324      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_year</ss:template>
 325    </ss:formatter>
 326  </ss:rule>
 327
 328  <!-- Time picker - ECLAIR -->
 329  <ss:rule>
 330    <ss:filter>
 331      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 332      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 333      <ss:currentItemIndex>0</ss:currentItemIndex>
 334      <ss:itemCount>11</ss:itemCount>
 335    </ss:filter>
 336    <ss:formatter>
 337      <ss:template>@com.google.android.marvin.talkback:string/value_increment_hours</ss:template>
 338    </ss:formatter>
 339  </ss:rule>
 340
 341  <ss:rule>
 342    <ss:filter>
 343      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 344      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 345      <ss:currentItemIndex>4</ss:currentItemIndex>
 346      <ss:itemCount>11</ss:itemCount>
 347    </ss:filter>
 348    <ss:formatter>
 349      <ss:template>@com.google.android.marvin.talkback:string/value_increment_minutes</ss:template>
 350    </ss:formatter>
 351  </ss:rule>
 352
 353  <ss:rule>
 354    <ss:filter>
 355      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 356      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 357      <ss:currentItemIndex>2</ss:currentItemIndex>
 358      <ss:itemCount>11</ss:itemCount>
 359    </ss:filter>
 360    <ss:formatter>
 361      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_hours</ss:template>
 362    </ss:formatter>
 363  </ss:rule>
 364
 365  <ss:rule>
 366    <ss:filter>
 367      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 368      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 369      <ss:currentItemIndex>6</ss:currentItemIndex>
 370      <ss:itemCount>11</ss:itemCount>
 371    </ss:filter>
 372    <ss:formatter>
 373      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_minutes</ss:template>
 374    </ss:formatter>
 375  </ss:rule>
 376
 377  <!-- Date picker - ECLAIR -->
 378  <ss:rule>
 379    <ss:filter>
 380      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 381      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 382      <ss:currentItemIndex>0</ss:currentItemIndex>
 383      <ss:itemCount>14</ss:itemCount>
 384    </ss:filter>
 385    <ss:formatter>
 386      <ss:template>@com.google.android.marvin.talkback:string/value_increment_month</ss:template>
 387    </ss:formatter>
 388  </ss:rule>
 389
 390  <ss:rule>
 391    <ss:filter>
 392      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 393      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 394      <ss:currentItemIndex>4</ss:currentItemIndex>
 395      <ss:itemCount>14</ss:itemCount>
 396    </ss:filter>
 397    <ss:formatter>
 398      <ss:template>@com.google.android.marvin.talkback:string/value_increment_day</ss:template>
 399    </ss:formatter>
 400  </ss:rule>
 401
 402  <ss:rule>
 403    <ss:filter>
 404      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 405      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 406      <ss:currentItemIndex>8</ss:currentItemIndex>
 407      <ss:itemCount>14</ss:itemCount>
 408    </ss:filter>
 409    <ss:formatter>
 410      <ss:template>@com.google.android.marvin.talkback:string/value_increment_year</ss:template>
 411    </ss:formatter>
 412  </ss:rule>
 413
 414  <ss:rule>
 415    <ss:filter>
 416      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 417      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 418      <ss:currentItemIndex>2</ss:currentItemIndex>
 419      <ss:itemCount>14</ss:itemCount>
 420    </ss:filter>
 421    <ss:formatter>
 422      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_month</ss:template>
 423    </ss:formatter>
 424  </ss:rule>
 425
 426  <ss:rule>
 427    <ss:filter>
 428      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 429      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 430      <ss:currentItemIndex>6</ss:currentItemIndex>
 431      <ss:itemCount>14</ss:itemCount>
 432    </ss:filter>
 433    <ss:formatter>
 434      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_day</ss:template>
 435    </ss:formatter>
 436  </ss:rule>
 437
 438  <ss:rule>
 439    <ss:filter>
 440      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 441      <ss:className>com.android.internal.widget.NumberPickerButton</ss:className>
 442      <ss:currentItemIndex>10</ss:currentItemIndex>
 443      <ss:itemCount>14</ss:itemCount>
 444    </ss:filter>
 445    <ss:formatter>
 446      <ss:template>@com.google.android.marvin.talkback:string/value_decrement_year</ss:template>
 447    </ss:formatter>
 448  </ss:rule>
 449
 450  <!-- In call screen -->
 451  <ss:rule>
 452    <ss:filter>
 453      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 454      <ss:className>android.widget.ImageButton</ss:className>
 455      <ss:packageName>com.android.phone</ss:packageName>
 456      <ss:currentItemIndex>1</ss:currentItemIndex>
 457      <ss:itemCount>19</ss:itemCount>
 458    </ss:filter>
 459    <ss:formatter>
 460      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_one</ss:template>
 461    </ss:formatter>
 462  </ss:rule>
 463
 464  <ss:rule>
 465    <ss:filter>
 466      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 467      <ss:className>android.widget.ImageButton</ss:className>
 468      <ss:packageName>com.android.phone</ss:packageName>
 469      <ss:currentItemIndex>2</ss:currentItemIndex>
 470      <ss:itemCount>19</ss:itemCount>
 471    </ss:filter>
 472    <ss:formatter>
 473      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_two</ss:template>
 474    </ss:formatter>
 475  </ss:rule>
 476
 477  <ss:rule>
 478    <ss:filter>
 479      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 480      <ss:className>android.widget.ImageButton</ss:className>
 481      <ss:packageName>com.android.phone</ss:packageName>
 482      <ss:currentItemIndex>3</ss:currentItemIndex>
 483      <ss:itemCount>19</ss:itemCount>
 484    </ss:filter>
 485    <ss:formatter>
 486      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_three</ss:template>
 487    </ss:formatter>
 488  </ss:rule>
 489
 490  <ss:rule>
 491    <ss:filter>
 492      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 493      <ss:className>android.widget.ImageButton</ss:className>
 494      <ss:packageName>com.android.phone</ss:packageName>
 495      <ss:currentItemIndex>4</ss:currentItemIndex>
 496      <ss:itemCount>19</ss:itemCount>
 497    </ss:filter>
 498    <ss:formatter>
 499      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_four</ss:template>
 500    </ss:formatter>
 501  </ss:rule>
 502
 503  <ss:rule>
 504    <ss:filter>
 505      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 506      <ss:className>android.widget.ImageButton</ss:className>
 507      <ss:packageName>com.android.phone</ss:packageName>
 508      <ss:currentItemIndex>5</ss:currentItemIndex>
 509      <ss:itemCount>19</ss:itemCount>
 510    </ss:filter>
 511    <ss:formatter>
 512      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_five</ss:template>
 513    </ss:formatter>
 514  </ss:rule>
 515
 516  <ss:rule>
 517    <ss:filter>
 518      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 519      <ss:className>android.widget.ImageButton</ss:className>
 520      <ss:packageName>com.android.phone</ss:packageName>
 521      <ss:currentItemIndex>6</ss:currentItemIndex>
 522      <ss:itemCount>19</ss:itemCount>
 523    </ss:filter>
 524    <ss:formatter>
 525      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_six</ss:template>
 526    </ss:formatter>
 527  </ss:rule>
 528
 529  <ss:rule>
 530    <ss:filter>
 531      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 532      <ss:className>android.widget.ImageButton</ss:className>
 533      <ss:packageName>com.android.phone</ss:packageName>
 534      <ss:currentItemIndex>7</ss:currentItemIndex>
 535      <ss:itemCount>19</ss:itemCount>
 536    </ss:filter>
 537    <ss:formatter>
 538      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_seven</ss:template>
 539    </ss:formatter>
 540  </ss:rule>
 541
 542  <ss:rule>
 543    <ss:filter>
 544      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 545      <ss:className>android.widget.ImageButton</ss:className>
 546      <ss:packageName>com.android.phone</ss:packageName>
 547      <ss:currentItemIndex>8</ss:currentItemIndex>
 548      <ss:itemCount>19</ss:itemCount>
 549    </ss:filter>
 550    <ss:formatter>
 551      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_eight</ss:template>
 552    </ss:formatter>
 553  </ss:rule>
 554
 555  <ss:rule>
 556    <ss:filter>
 557      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 558      <ss:className>android.widget.ImageButton</ss:className>
 559      <ss:packageName>com.android.phone</ss:packageName>
 560      <ss:currentItemIndex>9</ss:currentItemIndex>
 561      <ss:itemCount>19</ss:itemCount>
 562    </ss:filter>
 563    <ss:formatter>
 564      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_nine</ss:template>
 565    </ss:formatter>
 566  </ss:rule>
 567
 568  <ss:rule>
 569    <ss:filter>
 570      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 571      <ss:className>android.widget.ImageButton</ss:className>
 572      <ss:packageName>com.android.phone</ss:packageName>
 573      <ss:currentItemIndex>11</ss:currentItemIndex>
 574      <ss:itemCount>19</ss:itemCount>
 575    </ss:filter>
 576    <ss:formatter>
 577      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_zero</ss:template>
 578    </ss:formatter>
 579  </ss:rule>
 580
 581  <ss:rule>
 582    <ss:filter>
 583      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 584      <ss:className>android.widget.ImageButton</ss:className>
 585      <ss:packageName>com.android.phone</ss:packageName>
 586      <ss:currentItemIndex>10</ss:currentItemIndex>
 587      <ss:itemCount>19</ss:itemCount>
 588    </ss:filter>
 589    <ss:formatter>
 590      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_star</ss:template>
 591    </ss:formatter>
 592  </ss:rule>
 593
 594  <ss:rule>
 595    <ss:filter>
 596      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 597      <ss:className>android.widget.ImageButton</ss:className>
 598      <ss:packageName>com.android.phone</ss:packageName>
 599      <ss:currentItemIndex>12</ss:currentItemIndex>
 600      <ss:itemCount>19</ss:itemCount>
 601    </ss:filter>
 602    <ss:formatter>
 603      <ss:template>@com.google.android.marvin.talkback:string/value_phone_incall_hash</ss:template>
 604    </ss:formatter>
 605  </ss:rule>
 606
 607  <ss:rule>
 608    <ss:metadata>
 609      <ss:queuing>INTERRUPT</ss:queuing>
 610    </ss:metadata>
 611    <ss:filter>
 612      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
 613      <ss:className>com.android.phone.InCallScreen</ss:className>
 614    </ss:filter>
 615    <ss:formatter>
 616      <ss:custom>com.google.android.marvin.talkback.formatter.phone.InCallScreenFormatter</ss:custom>
 617    </ss:formatter>
 618  </ss:rule>
 619
 620  <!-- Activity -->
 621  <ss:rule>
 622    <ss:metadata>
 623      <ss:queuing>INTERRUPT</ss:queuing>
 624    </ss:metadata>
 625    <ss:filter>
 626      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
 627      <ss:className>android.app.Activity</ss:className>
 628    </ss:filter>
 629    <ss:formatter>
 630      <ss:property>text</ss:property>
 631    </ss:formatter>
 632  </ss:rule>
 633
 634  <!-- StatusBarService$ExpandedDialog -->
 635  <ss:rule>
 636    <ss:filter>
 637      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
 638      <ss:className>com.android.server.status.StatusBarService$ExpandedDialog</ss:className>
 639    </ss:filter>
 640    <ss:formatter>
 641      <ss:template>@com.google.android.marvin.talkback:string/value_status_bar_opened</ss:template>
 642    </ss:formatter>
 643  </ss:rule>
 644
 645  <!-- HandleView -->
 646  <ss:rule>
 647    <ss:filter>
 648      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 649      <ss:className>com.android.launcher.HandleView</ss:className>
 650    </ss:filter>
 651    <ss:formatter>
 652      <ss:template>@com.google.android.marvin.talkback:string/value_handle_view</ss:template>
 653    </ss:formatter>
 654  </ss:rule>
 655
 656  <!-- Music playback activity. -->
 657  <ss:rule>
 658    <ss:filter>
 659      <ss:activity>com.android.music.MediaPlaybackActivity</ss:activity>
 660      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 661      <ss:className>android.widget.ImageButton</ss:className>
 662      <ss:currentItemIndex>0</ss:currentItemIndex>
 663      <ss:itemCount>7</ss:itemCount>
 664    </ss:filter>
 665    <ss:formatter>
 666      <ss:template>@com.google.android.marvin.talkback:string/value_playlist</ss:template>
 667    </ss:formatter>
 668  </ss:rule>
 669
 670  <ss:rule>
 671    <ss:filter>
 672      <ss:activity>com.android.music.MediaPlaybackActivity</ss:activity>
 673      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 674      <ss:className>android.widget.ImageButton</ss:className>
 675      <ss:currentItemIndex>1</ss:currentItemIndex>
 676      <ss:itemCount>7</ss:itemCount>
 677    </ss:filter>
 678    <ss:formatter>
 679      <ss:template>@com.google.android.marvin.talkback:string/value_toggle_shuffle</ss:template>
 680    </ss:formatter>
 681  </ss:rule>
 682  
 683  <ss:rule>
 684    <ss:filter>
 685      <ss:activity>com.android.music.MediaPlaybackActivity</ss:activity>
 686      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 687      <ss:className>android.widget.ImageButton</ss:className>
 688      <ss:currentItemIndex>2</ss:currentItemIndex>
 689      <ss:itemCount>7</ss:itemCount>
 690    </ss:filter>
 691    <ss:formatter>
 692      <ss:template>@com.google.android.marvin.talkback:string/value_toggle_repeat</ss:template>
 693    </ss:formatter>
 694  </ss:rule>
 695
 696  <ss:rule>
 697    <ss:filter>
 698      <ss:activity>com.android.music.MediaPlaybackActivity</ss:activity>
 699      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 700      <ss:className>android.widget.ImageButton</ss:className>
 701      <ss:currentItemIndex>3</ss:currentItemIndex>
 702      <ss:itemCount>7</ss:itemCount>
 703    </ss:filter>
 704    <ss:formatter>
 705      <ss:template>@com.google.android.marvin.talkback:string/value_rewind_button</ss:template>
 706    </ss:formatter>
 707  </ss:rule>
 708
 709  <ss:rule>
 710    <ss:filter>
 711      <ss:activity>com.android.music.MediaPlaybackActivity</ss:activity>
 712      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 713      <ss:className>android.widget.ImageButton</ss:className>
 714      <ss:currentItemIndex>4</ss:currentItemIndex>
 715      <ss:itemCount>7</ss:itemCount>
 716    </ss:filter>
 717    <ss:formatter>
 718      <ss:template>@com.google.android.marvin.talkback:string/value_play_button</ss:template>
 719    </ss:formatter>
 720  </ss:rule>
 721
 722  <ss:rule>
 723    <ss:filter>
 724      <ss:activity>com.android.music.MediaPlaybackActivity</ss:activity>
 725      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 726      <ss:className>android.widget.ImageButton</ss:className>
 727      <ss:currentItemIndex>5</ss:currentItemIndex>
 728      <ss:itemCount>7</ss:itemCount>
 729    </ss:filter>
 730    <ss:formatter>
 731      <ss:template>@com.google.android.marvin.talkback:string/value_fast_forward_button</ss:template>
 732    </ss:formatter>
 733  </ss:rule>
 734
 735  <!-- Google Maps. -->
 736  <ss:rule>
 737    <ss:filter>
 738      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 739      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 740      <ss:className>android.widget.ImageButton</ss:className>
 741      <ss:currentItemIndex>1</ss:currentItemIndex>
 742      <ss:itemCount>9</ss:itemCount>
 743    </ss:filter>
 744    <ss:formatter>
 745      <ss:template>@com.google.android.marvin.talkback:string/value_maps_choose_start</ss:template>
 746    </ss:formatter>
 747  </ss:rule>
 748
 749  <ss:rule>
 750    <ss:filter>
 751      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 752      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 753      <ss:className>android.widget.ImageButton</ss:className>
 754      <ss:currentItemIndex>3</ss:currentItemIndex>
 755      <ss:itemCount>9</ss:itemCount>
 756    </ss:filter>
 757    <ss:formatter>
 758      <ss:template>@com.google.android.marvin.talkback:string/value_maps_choose_destination</ss:template>
 759    </ss:formatter>
 760  </ss:rule>
 761
 762  <ss:rule>
 763    <ss:filter>
 764      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 765      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 766      <ss:className>android.widget.RadioButton</ss:className>
 767      <ss:currentItemIndex>4</ss:currentItemIndex>
 768      <ss:itemCount>9</ss:itemCount>
 769      <ss:checked>true</ss:checked>
 770    </ss:filter>
 771    <ss:formatter>
 772      <ss:template>@com.google.android.marvin.talkback:string/value_maps_driving_checked</ss:template>
 773    </ss:formatter>
 774  </ss:rule>
 775
 776  <ss:rule>
 777    <ss:filter>
 778      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 779      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 780      <ss:className>android.widget.RadioButton</ss:className>
 781      <ss:currentItemIndex>5</ss:currentItemIndex>
 782      <ss:itemCount>9</ss:itemCount>
 783      <ss:checked>true</ss:checked>
 784    </ss:filter>
 785    <ss:formatter>
 786      <ss:template>@com.google.android.marvin.talkback:string/value_maps_public_transport_checked</ss:template>
 787    </ss:formatter>
 788  </ss:rule>
 789
 790  <ss:rule>
 791    <ss:filter>
 792      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 793      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 794      <ss:className>android.widget.RadioButton</ss:className>
 795      <ss:currentItemIndex>6</ss:currentItemIndex>
 796      <ss:itemCount>9</ss:itemCount>
 797      <ss:checked>true</ss:checked>
 798    </ss:filter>
 799    <ss:formatter>
 800      <ss:template>@com.google.android.marvin.talkback:string/value_maps_bicycling_checked</ss:template>
 801    </ss:formatter>
 802  </ss:rule>
 803
 804  <ss:rule>
 805    <ss:filter>
 806      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 807      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 808      <ss:className>android.widget.RadioButton</ss:className>
 809      <ss:currentItemIndex>7</ss:currentItemIndex>
 810      <ss:itemCount>9</ss:itemCount>
 811      <ss:checked>true</ss:checked>
 812    </ss:filter>
 813    <ss:formatter>
 814      <ss:template>@com.google.android.marvin.talkback:string/value_maps_walking_checked</ss:template>
 815    </ss:formatter>
 816  </ss:rule>
 817
 818  <ss:rule>
 819    <ss:filter>
 820      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 821      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 822      <ss:className>android.widget.RadioButton</ss:className>
 823      <ss:currentItemIndex>4</ss:currentItemIndex>
 824      <ss:itemCount>9</ss:itemCount>
 825    </ss:filter>
 826    <ss:formatter>
 827      <ss:template>@com.google.android.marvin.talkback:string/value_maps_driving</ss:template>
 828    </ss:formatter>
 829  </ss:rule>
 830
 831  <ss:rule>
 832    <ss:filter>
 833      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 834      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 835      <ss:className>android.widget.RadioButton</ss:className>
 836      <ss:currentItemIndex>5</ss:currentItemIndex>
 837      <ss:itemCount>9</ss:itemCount>
 838    </ss:filter>
 839    <ss:formatter>
 840      <ss:template>@com.google.android.marvin.talkback:string/value_maps_public_transport</ss:template>
 841    </ss:formatter>
 842  </ss:rule>
 843
 844  <ss:rule>
 845    <ss:filter>
 846      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 847      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 848      <ss:className>android.widget.RadioButton</ss:className>
 849      <ss:currentItemIndex>6</ss:currentItemIndex>
 850      <ss:itemCount>9</ss:itemCount>
 851    </ss:filter>
 852    <ss:formatter>
 853      <ss:template>@com.google.android.marvin.talkback:string/value_maps_bicycling</ss:template>
 854    </ss:formatter>
 855  </ss:rule>
 856
 857  <ss:rule>
 858    <ss:filter>
 859      <ss:activity>com.google.android.maps.MapsActivity</ss:activity>
 860      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 861      <ss:className>android.widget.RadioButton</ss:className>
 862      <ss:currentItemIndex>7</ss:currentItemIndex>
 863      <ss:itemCount>9</ss:itemCount>
 864    </ss:filter>
 865    <ss:formatter>
 866      <ss:template>@com.google.android.marvin.talkback:string/value_maps_walking</ss:template>
 867    </ss:formatter>
 868  </ss:rule>
 869
 870  <!-- Market search button. (Main screen.) -->
 871  <ss:rule>
 872    <ss:filter>
 873      <ss:activity>com.android.vending.AssetBrowserActivity</ss:activity>
 874      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 875      <ss:className>android.widget.ImageButton</ss:className>
 876      <ss:currentItemIndex>0</ss:currentItemIndex>
 877    </ss:filter>
 878    <ss:formatter>
 879      <ss:template>@com.google.android.marvin.talkback:string/value_market_search</ss:template>
 880    </ss:formatter>
 881  </ss:rule>
 882
 883  <!-- Market search button. (Search result screen.) -->
 884  <ss:rule>
 885    <ss:filter>
 886      <ss:activity>com.android.vending.SearchAssetListActivity</ss:activity>
 887      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 888      <ss:className>android.widget.ImageButton</ss:className>
 889      <ss:currentItemIndex>0</ss:currentItemIndex>
 890    </ss:filter>
 891    <ss:formatter>
 892      <ss:template>@com.google.android.marvin.talkback:string/value_market_search</ss:template>
 893    </ss:formatter>
 894  </ss:rule>
 895  
 896    <!-- Alarmclock. (Set alarm dialog - hours input.) -->
 897  <ss:rule>
 898    <ss:filter>
 899      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 900      <ss:packageName>com.google.android.deskclock</ss:packageName>
 901      <ss:className>android.widget.EditText</ss:className>
 902      <ss:itemCount>11</ss:itemCount>
 903      <ss:currentItemIndex>1</ss:currentItemIndex>
 904    </ss:filter>
 905    <ss:formatter>
 906      <ss:template>@com.google.android.marvin.talkback:string/template_hours</ss:template>
 907      <ss:property>text</ss:property>
 908    </ss:formatter>
 909  </ss:rule>
 910
 911  <!-- Alarmclock. (Set alarm dialog - minutes input.) -->
 912  <ss:rule>
 913    <ss:filter>
 914      <ss:eventType>TYPE_VIEW_FOCUSED</ss:eventType>
 915      <ss:packageName>com.google.android.deskclock</ss:packageName>
 916      <ss:className>android.widget.EditText</ss:className>
 917      <ss:itemCount>11</ss:itemCount>
 918      <ss:currentItemIndex>5</ss:currentItemIndex>
 919    </ss:filter>
 920    <ss:formatter>
 921      <ss:template>@com.google.android.marvin.talkback:string/template_minutes</ss:template>
 922      <ss:property>text</ss:property>
 923    </ss:formatter>
 924  </ss:rule>
 925  
 926  <!-- CALENDAR RULES -->
 927  
 928  <!-- DayView (day/week version) (Gingerbread) -->
 929  <ss:rule>
 930    <ss:filter>
 931      <ss:eventType>TYPE_VIEW_SELECTED</ss:eventType>
 932      <ss:className>com.android.calendar.DayView</ss:className>
 933      <ss:platformSdk>9</ss:platformSdk>
 934    </ss:filter>
 935    <ss:formatter>
 936      <ss:custom>com.google.android.marvin.talkback.formatter.calendar.DayOrWeekOrAgendaViewSelectedFormatter</ss:custom>
 937    </ss:formatter>
 938  </ss:rule>
 939  
 940  <!-- WeekView (Gingerbread) -->
 941  <ss:rule>
 942    <ss:filter>
 943      <ss:eventType>TYPE_VIEW_SELECTED</ss:eventType>
 944      <ss:className>com.android.calendar.WeekView</ss:className>
 945      <ss:platformSdk>9</ss:platformSdk>
 946    </ss:filter>
 947    <ss:formatter>
 948      <ss:custom>com.google.android.marvin.talkback.formatter.calendar.DayOrWeekOrAgendaViewSelectedFormatter</ss:custom>
 949    </ss:formatter>
 950  </ss:rule>
 951  
 952  <!-- MonthView (Gingerbread) -->
 953  <ss:rule>
 954    <ss:filter>
 955      <ss:eventType>TYPE_VIEW_SELECTED</ss:eventType>
 956      <ss:className>com.android.calendar.MonthView</ss:className>
 957      <ss:platformSdk>9</ss:platformSdk>
 958    </ss:filter>
 959    <ss:formatter>
 960      <ss:custom>com.google.android.marvin.talkback.formatter.calendar.MonthViewSelectedFormatter</ss:custom>
 961    </ss:formatter>
 962  </ss:rule>
 963  
 964  <!-- MonthView (Honeycomb) -->
 965  <ss:rule>
 966    <ss:filter>
 967      <ss:eventType>TYPE_VIEW_SELECTED</ss:eventType>
 968      <ss:className>com.android.calendar.month.FullMonthView</ss:className>
 969      <ss:platformSdk>10</ss:platformSdk>
 970    </ss:filter>
 971    <ss:formatter>
 972      <ss:custom>com.google.android.marvin.talkback.formatter.calendar.MonthViewSelectedFormatter</ss:custom>
 973    </ss:formatter>
 974  </ss:rule>
 975  
 976  <!-- AgendaListView (Gingerbread) -->
 977  <ss:rule>
 978    <ss:filter>
 979      <ss:eventType>TYPE_VIEW_SELECTED</ss:eventType>
 980      <ss:className>com.android.calendar.AgendaListView</ss:className>
 981      <ss:platformSdk>9</ss:platformSdk>
 982    </ss:filter>
 983    <ss:formatter>
 984      <ss:custom>com.google.android.marvin.talkback.formatter.calendar.DayOrWeekOrAgendaViewSelectedFormatter</ss:custom>
 985    </ss:formatter>
 986  </ss:rule>
 987  
 988  <!-- DayView (day/month version) -->
 989  <ss:rule>
 990    <ss:filter>
 991      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
 992      <ss:className>com.android.calendar.DayView</ss:className>
 993    </ss:filter>
 994    <ss:formatter>
 995       <ss:custom>com.google.android.marvin.talkback.formatter.calendar.DayViewWindowStateChangedFormatter</ss:custom>
 996    </ss:formatter>
 997  </ss:rule>
 998  
 999  <!-- WeekView (Gingerbread) -->
1000  <ss:rule>
1001    <ss:filter>
1002      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
1003      <ss:className>com.android.calendar.WeekView</ss:className>
1004      <ss:platformSdk>9</ss:platformSdk>
1005    </ss:filter>
1006    <ss:formatter>
1007      <ss:template>@com.google.android.marvin.talkback:string/template_announce_week</ss:template>
1008      <ss:split> – </ss:split>
1009    </ss:formatter>
1010  </ss:rule>
1011  
1012  <!-- MonthView (Gingerbread) -->
1013  <ss:rule>
1014    <ss:filter>
1015      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
1016      <ss:className>com.android.calendar.MonthView</ss:className>
1017    </ss:filter>
1018    <ss:formatter>
1019      <ss:template>@com.google.android.marvin.talkback:string/template_announce_month</ss:template>
1020      <ss:property>text</ss:property>
1021    </ss:formatter>
1022  </ss:rule>
1023  
1024    <!-- MonthView (Honeycomb) -->
1025  <ss:rule>
1026    <ss:filter>
1027      <ss:eventType>TYPE_WINDOW_STATE_CHANGED</ss:eventType>
1028      <ss:className>com.android.calendar.month.FullMonthView</ss:className>
1029    </ss:filter>
1030    <ss:formatter>
1031      <ss:template>@com.google.android.marvin.talkback:string/template_announce_month</ss:template>
1032      <ss:property>text</ss:property>
1033    </ss:formatter>
1034  </ss:rule>  
1035  
1036</ss:speechstrategy>