content: /*
   * Copyright 2021 Aurélien Gâteau <mail@agateau.com>
   *
   * This file is part of Pixel Wheels.
   *
   * Licensed under the Apache License, Version 2.0 (the "License"); you may not
   * use this file except in compliance with the License.
   *
   * You may obtain a copy of the License at
   *
   *   http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
   * License for the specific language governing permissions and limitations
   * under the License.
   */
  package com.agateau.pixelwheels.android;
  
  import android.content.Context;
  import com.agateau.utils.log.LogFilePrinter;
  import com.agateau.utils.log.NLog;
  import java.io.FileNotFoundException;
  import java.io.FileOutputStream;
  
  /** Implementation of LogFileOpener using Android file API */
  class AndroidLogFileOpener implements LogFilePrinter.LogFileOpener {
      private final Context mContext;
  
      AndroidLogFileOpener(Context context) {
          mContext = context;
      }
  
      @Override
      public FileOutputStream openLogFile(String filename) {
          try {
              return mContext.openFileOutput(filename, Context.MODE_PRIVATE | Context.MODE_APPEND);
          } catch (FileNotFoundException e) {
              NLog.e("Failed to open %s for writing: %s", filename, e);
              return null;
          }
      }
  }
  