title: Flipfont app for galaxy phones
body: <p>I want to make an app that can change system font style in galaxy phone after installing my app user can change font from Setting>my Device >font style and choose from list without requiring root permission. I have my own font style in true type file.
  Click <a href="https://m.allfreeapk.com/present-flipfont,565969/" rel="nofollow noreferrer">here</a> to see example of app I want to make.</p>
  
  <p>Down Voting Won't help Please answer or dont vote down.</p>
  
  <p><a href="https://i.stack.imgur.com/q9v8z.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/q9v8z.jpg" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/LNHdI.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/LNHdI.png" alt="enter image description here"></a></p>
  
  <p><a href="https://i.stack.imgur.com/kfKNg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kfKNg.png" alt="enter image description here"></a></p>
  
  <p>manidest</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="2" android:versionName="1.1" package="com.monotype.android.font.presentltroman" platformBuildVersionCode="23" platformBuildVersionName="6.0-2438415"&gt;
      &lt;uses-sdk android:minSdkVersion="7" /&gt;
      &lt;application android:label="@string/app_name" android:icon="@drawable/icon"&gt;
          &lt;provider android:name=".FontContentProvider" android:authorities="com.example.myfont" /&gt;
          &lt;support-screens android:largeScreens="true" android:xlargeScreens="true" /&gt;
      &lt;/application&gt;
  &lt;/manifest&gt;
  </code></pre>
  
  <p>There is only one activity</p>
  
  <pre><code>import android.content.ContentProvider;
  import android.content.ContentValues;
  import android.content.UriMatcher;
  import android.content.res.AssetFileDescriptor;
  import android.content.res.AssetManager;
  import android.database.Cursor;
  import android.net.Uri;
  import android.os.ParcelFileDescriptor;
  import android.util.Log;
  import java.io.FileNotFoundException;
  
  public class FontContentProvider extends ContentProvider {
      private static final UriMatcher uriMatcher = new UriMatcher(-1);
  
      public ParcelFileDescriptor openFile(Uri uri, String mode) throws FileNotFoundException {
          return null;
      }
  
      public AssetFileDescriptor openAssetFile(Uri uri, String mode) throws FileNotFoundException {
          String file_name = uri.getPath();
          if (file_name == null) {
              throw new FileNotFoundException();
          }
          if (file_name.startsWith("/")) {
              file_name = file_name.substring(1);
          }
          AssetFileDescriptor ad = null;
          try {
              ad = getContext().getAssets().openFd(file_name);
          } catch (Exception e) {
              Log.v("CPFontTest", "cp - openAssetFile EXCEPTION");
          }
          return ad;
      }
  
      public int delete(Uri uri, String selection, String[] selectionArgs) {
          return 0;
      }
  
      public String getType(Uri uri) {
          AssetManager am = getContext().getAssets();
          StringBuilder xmlfileStringBuilder = new StringBuilder();
          try {
              for (String s : am.list("xml")) {
                  xmlfileStringBuilder.append(s + "\n");
              }
              return xmlfileStringBuilder.toString();
          } catch (Exception e) {
              return null;
          }
      }
  
      public Uri insert(Uri uri, ContentValues values) {
          return null;
      }
  
      public boolean onCreate() {
          return true;
      }
  
      public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
          return null;
      }
  
      public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
          return 0;
      }
  
      static {
          uriMatcher.addURI(".fontcontentprovider", "fonts", 1);
      }
  }
  </code></pre>