How to deactivate feature of TTS on your device(modified)

I received problems that feature of TTS(Text-To-Speech) automatically was activated on some devices.
Like this
“The modus for visually impaired people will be activated, means when I open a file the phone comment this with:”file opened” or “file closed”.
When I activate the accessibility, swype will be automatically disabled.”

Solution 1.
I guess that TTS feature was activated on your device.
Set System Setting – Application – All – TTS(Samsung TTS or Google TTS engine) – Disable
OR System Setting – Accessibility – TalkBack – Turn off, please.
OR System Setting – Language and input – Text-to-speech output – Driving Mode – Disable

Solution 2. (in case of use default keyboard app)
Default keyboard application’s(Samsung or other maker’s…) TTS mode is automatically activated maybe.
Therefore The default keyboard application causes this problem. Install other keyboard app(like google keyboard) and set as default keyboard.(Changing your default keyboard app is needed).

How to install and set google keyboard at play store.
Search with “google keyboard” keyword.
System setting – language and input – activate(check in checkbox) google keyboard
System setting – language and input – set Default as Google Keyboard
In Google Keyboard Setting, set your language like Chinese.

Case by case,
it’s available with
System Setting – Language and Input – Maker’s Keyboard App(like Samsung keyboard..) – Disable
OR
System Setting – Application – Maker’s Keyboard App – Disable

Solution 3. (TTS was activated on web browser only)
System Setting – Accessibility – Install web scripts – set not allowed, please.

Additional… reason to turn on the accessibility option.
Receiving e-mail(and SMS…) is default feature of Android device. But, Instant Messaging App is 3rd party application. I’m not a developer in IM Corporation…And I can’t access the message of IM…

So, when the instant message is received,  I steel the notification of the instant message and display your watch. In order to steel the message, user must give accessibility permission(more powerful) to the application.

Developing Chat-On…

Because so busy up to today, can’t care a snap till lately.

I think application will be updated this week.

I’ll publish Chat-On extension requested and add functions of the menu key.


I will not change this application to ‘Paid’ application. And will keep ‘Free’ application.


Two button appearance when long-click in a list page or press the menu key in a detail page(version 1.4.2).
The top button makes delete all messages, and the bottom button makes delete the message.
Sorry that have so poor sense of design…

Store Drawable extracted from ImageView of another app(another developer’s) as a file.

Store Drawable extracted from ImageView of another app(another developers) as a file, and send the file Uri.

                             contactDrawable = MyUtil.extractImage(context, root);
                             Bitmap bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(),
                                           drawable.getIntrinsicHeight(), Config.ARGB_8888);
                             Canvas canvas = new Canvas(bitmap);
                             drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
                             drawable.draw(canvas);
                                   if (drawable instanceof BitmapDrawable) {
                                 bitmap = ((BitmapDrawable)drawable).getBitmap();
                             }
                                
                                 try {
                                         String extStorageDirectory = Environment.getExternalStorageDirectory
                                                                   ().toString();
                                        
                                         File mDir = new File(extStorageDirectory + “/SW2Line/”);
                                         if(!mDir.exists())
                                                mDir.mkdir();
                                        
                                        
                                     FileOutputStream out = new FileOutputStream(extStorageDirectory +
                                              “/SW2Line/tempProfile.png”);
                                     bitmap.compress(Bitmap.CompressFormat.PNG, 90, out);
                                     
                                     out.flush();
                                     out.close();
                                     
                                     contactIcon = Uri.fromFile(new File(extStorageDirectory +
                                               “/SW2Line/tempProfile.png”)).toString();
                                     
                                     LogControl.i(TAG,“out toString = “ + contactIcon );
                                 } catch (Exception e) {
                                     e.printStackTrace();
                                 }
                         }catch(Exception e) {e.printStackTrace(); contactIcon = “”;}

Extract a Instance of specific class RemoteViews which don’t know to how to make.

Extract a Instance of specific class RemoteViews which I don’t know to how to make.


Return instance that i’m looking for.

If type == 0, then return a instance first found.
If type == 1, then return a instance second found.


The problem is, because of tree search, maybe return different value depending on the situation.



ex) find a instance of TextView in RemoteViews.

count is a static variable.


      static public TextView extractTextView(Context context, RemoteViews views, int type) {
           
        Context remotePackageContext ;
        remotePackageContext  = context.getApplicationContext();
        try{
              remotePackageContext = context.createPackageContext(TARGET_PACKAGE, 0);
        }catch(Exception e){;}
       
        LinearLayout ll = new LinearLayout(remotePackageContext );
        View view = views.apply(remotePackageContext, ll);
        count = 0;
       
        LogControl.i(TAG, “msg = ” + searchForTextView(view,2).getText().toString());
        count = 0;
       
        return searchForTextView(view,type);
    }
     
     
    static public TextView searchForTextView(View view, int duration) {
        if (view instanceof TextView) {
              TextView textView = (TextView)view;
              String text = textView.getText().toString();
              count ++;
              LogControl.i(TAG, “tview string = ” + text);
             
              if(textView.getTag() == null && count > duration){
                  
                   return (TextView)view;
              }
        }

        if (view instanceof ViewGroup) {
            ViewGroup viewGroup = (ViewGroup) view;
            for (int i = 0; i < viewGroup.getChildCount(); i++) {
                TextView result = searchForTextView(viewGroup.getChildAt(i), duration);
                if (result != null) {
                     if(count > duration)
                           return result;
                }
            }
        }
        return null;
    }