com/android/server/scheduling/XmlWriter.class
XmlWriter.java
package com.android.server.scheduling
public com.android.server.scheduling.XmlWriter extends java.lang.Object implements java.io.Closeable {
private java.io.PrintWriter out
private StringBuilder outBuffer
private int indent
private boolean startLine
static final synthetic boolean $assertionsDisabled
public void <init> (java.io.PrintWriter)
java.io.PrintWriter printWriter
private void printIndent ()
int i
void print (java.lang.String)
int i
String code
String[] lines
void increaseIndent ()
void decreaseIndent ()
void printXml ()
public void close ()
public static void write (com.android.server.scheduling.XmlWriter, com.android.server.scheduling.RebootStats) throws java.io.IOException
com.android.server.scheduling.XmlWriter _out
com.android.server.scheduling.RebootStats rebootStats
static void <clinit> ()
}
com/android/server/scheduling/XmlParser.class
XmlParser.java
package com.android.server.scheduling
public com.android.server.scheduling.XmlParser extends java.lang.Object {
public void <init> ()
public static com.android.server.scheduling.RebootStats read (java.io.InputStream) throws org.xmlpull.v1.XmlPullParserException java.io.IOException javax.xml.datatype.DatatypeConfigurationException
com.android.server.scheduling.RebootStats _value
java.io.InputStream in
org.xmlpull.v1.XmlPullParser _parser
String _tagName
String _raw
public static java.lang.String readText (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
org.xmlpull.v1.XmlPullParser _parser
String result
public static void skip (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException java.io.IOException
org.xmlpull.v1.XmlPullParser _parser
int depth
}
com/android/server/scheduling/SchedulingStatsLog.class
SchedulingStatsLog.java
package com.android.server.scheduling
public final com.android.server.scheduling.SchedulingStatsLog extends java.lang.Object {
public static final int UNATTENDED_REBOOT_OCCURRED
public static final int LONG_REBOOT_BLOCKING_REPORTED
public static final int LONG_REBOOT_BLOCKING_REPORTED__REBOOT_BLOCK_REASON__SYSTEM_COMPONENT
public static final int LONG_REBOOT_BLOCKING_REPORTED__REBOOT_BLOCK_REASON__APP_UID
public static final byte ANNOTATION_ID_IS_UID
public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP
public static final byte ANNOTATION_ID_PRIMARY_FIELD
public static final byte ANNOTATION_ID_EXCLUSIVE_STATE
public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID
public static final byte ANNOTATION_ID_DEFAULT_STATE
public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET
public static final byte ANNOTATION_ID_STATE_NESTED
public void <init> ()
public static void write (int, int, java.lang.String, int)
int code
int arg1
String arg2
int arg3
android.util.StatsEvent$Builder builder
public static void write (int, long, long, int, int, int, long)
int code
long arg1
long arg2
int arg3
int arg4
int arg5
long arg6
android.util.StatsEvent$Builder builder
}
com/android/server/scheduling/RebootStats.class
RebootStats.java
package com.android.server.scheduling
public com.android.server.scheduling.RebootStats extends java.lang.Object {
private Long startTimeMs
private Long readyTimeMs
private Integer timesBlockedByInteractivity
private Integer timesBlockedByAppActivity
private Integer timesBlockedBySubsystems
private Long timeUntilNextInteractionMs
public void <init> ()
public long getStartTimeMs ()
boolean hasStartTimeMs ()
public void setStartTimeMs (long)
long startTimeMs
public long getReadyTimeMs ()
boolean hasReadyTimeMs ()
public void setReadyTimeMs (long)
long readyTimeMs
public int getTimesBlockedByInteractivity ()
boolean hasTimesBlockedByInteractivity ()
public void setTimesBlockedByInteractivity (int)
int timesBlockedByInteractivity
public int getTimesBlockedByAppActivity ()
boolean hasTimesBlockedByAppActivity ()
public void setTimesBlockedByAppActivity (int)
int timesBlockedByAppActivity
public int getTimesBlockedBySubsystems ()
boolean hasTimesBlockedBySubsystems ()
public void setTimesBlockedBySubsystems (int)
int timesBlockedBySubsystems
public long getTimeUntilNextInteractionMs ()
boolean hasTimeUntilNextInteractionMs ()
public void setTimeUntilNextInteractionMs (long)
long timeUntilNextInteractionMs
static com.android.server.scheduling.RebootStats read (org.xmlpull.v1.XmlPullParser) throws org.xmlpull.v1.XmlPullParserException java.io.IOException javax.xml.datatype.DatatypeConfigurationException
long _value
long _value
int _value
int _value
int _value
long _value
String _tagName
org.xmlpull.v1.XmlPullParser _parser
com.android.server.scheduling.RebootStats _instance
String _raw
int outerDepth
int type
void write (com.android.server.scheduling.XmlWriter, java.lang.String) throws java.io.IOException
com.android.server.scheduling.XmlWriter _out
String _name
}
com/android/server/scheduling/RebootReadinessShellCommand.class
RebootReadinessShellCommand.java
package com.android.server.scheduling
com.android.server.scheduling.RebootReadinessShellCommand extends com.android.scheduling.BasicShellCommandHandler {
final com.android.server.scheduling.RebootReadinessManagerService mService
final android.content.Context mContext
private long mTimeoutSecs
private boolean mListBlocking
private static final String PROPERTY_ACTIVE_POLLING_INTERVAL_MS
private static final String PROPERTY_INTERACTIVITY_THRESHOLD_MS
private static final String PROPERTY_DISABLE_INTERACTIVITY_CHECK
private static final String PROPERTY_DISABLE_APP_ACTIVITY_CHECK
private static final String PROPERTY_DISABLE_SUBSYSTEMS_CHECK
void <init> (com.android.server.scheduling.RebootReadinessManagerService, android.content.Context)
com.android.server.scheduling.RebootReadinessManagerService service
android.content.Context context
public int onCommand (java.lang.String)
String cmd
private void handleOptions ()
String arg
private void runStartReadinessChecks ()
android.content.IntentFilter filter
android.content.BroadcastReceiver receiver
private void runCheckInteractivityState ()
private void runCheckSubsystemsState ()
private void runCheckAppActivityState ()
public void onHelp ()
java.io.PrintWriter pw
}
com/android/server/scheduling/RebootReadinessShellCommand$1.class
RebootReadinessShellCommand.java
package com.android.server.scheduling
com.android.server.scheduling.RebootReadinessShellCommand$1 extends android.content.BroadcastReceiver {
final synthetic com.android.server.scheduling.RebootReadinessShellCommand this$0
void <init> (com.android.server.scheduling.RebootReadinessShellCommand)
com.android.server.scheduling.RebootReadinessShellCommand this$0
public void onReceive (android.content.Context, android.content.Intent)
android.content.Context context
android.content.Intent intent
java.time.LocalDateTime dt
}
com/android/server/scheduling/RebootReadinessManagerService.class
RebootReadinessManagerService.java
package com.android.server.scheduling
public com.android.server.scheduling.RebootReadinessManagerService extends android.scheduling.IRebootReadinessManager$Stub {
private static final String TAG
private final android.os.RemoteCallbackList mCallbacks
private final android.os.Handler mHandler
private final java.util.concurrent.Executor mExecutor
private final Object mLock
private final android.content.Context mContext
private final android.app.ActivityManager mActivityManager
private final android.app.AlarmManager mAlarmManager
private final com.android.server.scheduling.RebootReadinessLogger mRebootReadinessLogger
private static final String TEST_CALLBACK_PREFIX
private static final String PROPERTY_ACTIVE_POLLING_INTERVAL_MS
private static final String PROPERTY_INTERACTIVITY_THRESHOLD_MS
private static final String PROPERTY_DISABLE_INTERACTIVITY_CHECK
private static final String PROPERTY_DISABLE_APP_ACTIVITY_CHECK
private static final String PROPERTY_DISABLE_SUBSYSTEMS_CHECK
private static final String PROPERTY_ALARM_CLOCK_THRESHOLD_MS
private static final String PROPERTY_LOGGING_BLOCKING_ENTITY_THRESHOLD_MS
private static final long DEFAULT_POLLING_INTERVAL_WHILE_ACTIVE_MS
private static final long DEFAULT_INTERACTIVITY_THRESHOLD_MS
private static final long DEFAULT_ALARM_CLOCK_THRESHOLD_MS
private static final long DEFAULT_LOGGING_BLOCKING_ENTITY_THRESHOLD_MS
private long mActivePollingIntervalMs
private long mInteractivityThresholdMs
private boolean mDisableInteractivityCheck
private boolean mReadyToReboot
private boolean mDisableAppActivityCheck
private boolean mDisableSubsystemsCheck
private long mAlarmClockThresholdMs
private long mLoggingBlockingEntityThresholdMs
private final android.util.SparseArray mCallingUidToPackageMap
private boolean mCanceled
private long mLastTimeNotInteractiveMs
private long mPollingStartTimeMs
private int mTimesBlockedByInteractivity
private int mTimesBlockedBySubsystems
private int mTimesBlockedByAppActivity
private boolean mBlockedByTethering
private final android.net.TetheringManager$TetheringEventCallback mTetheringEventCallback
private final android.content.BroadcastReceiver mUserPresentReceiver
private final android.app.AlarmManager$OnAlarmListener mPollStateListener
void <init> (android.content.Context)
android.content.Context context
void <init> (android.content.Context, com.android.server.scheduling.RebootReadinessLogger)
android.content.Context context
com.android.server.scheduling.RebootReadinessLogger logger
android.content.BroadcastReceiver interactivityChangedReceiver
android.content.IntentFilter interactivityFilter
android.os.PowerManager powerManager
android.content.IntentFilter userPresentFilter
android.net.TetheringManager mTetheringManager
public int handleShellCommand (android.os.ParcelFileDescriptor, android.os.ParcelFileDescriptor, android.os.ParcelFileDescriptor, java.lang.String[])
android.os.ParcelFileDescriptor in
android.os.ParcelFileDescriptor out
android.os.ParcelFileDescriptor err
String[] args
public void markRebootPending (java.lang.String)
android.util.ArraySet packagesForUid
String callingPackage
public void cancelPendingReboot (java.lang.String)
android.util.ArraySet packagesForUid
String callingPackage
int callingUid
public boolean isReadyToReboot ()
public void addRequestRebootReadinessStatusListener (android.scheduling.IRequestRebootReadinessStatusListener)
android.os.RemoteException e
android.scheduling.IRequestRebootReadinessStatusListener callback
public void removeRequestRebootReadinessStatusListener (android.scheduling.IRequestRebootReadinessStatusListener)
android.scheduling.IRequestRebootReadinessStatusListener callback
private void pollRebootReadinessState ()
boolean previousRebootReadiness
boolean currentRebootReadiness
private boolean getRebootReadinessLocked ()
boolean checkSystemComponentsState ()
android.app.AlarmManager$AlarmClockInfo alarmClockInfo
long now
android.os.RemoteCallback remoteCallback
android.os.RemoteException e
android.scheduling.IRequestRebootReadinessStatusListener callback
java.util.List blockingCallbacks
java.util.List blockingCallbackNames
int i
java.util.concurrent.CountDownLatch latch
boolean checkDeviceInteractivity ()
long now
boolean checkBackgroundAppActivity ()
android.app.ActivityManager$RunningServiceInfo info
int i
java.util.List serviceInfos
java.util.List blockingUids
private void noteRebootReadinessStateChanged (boolean)
int j
android.os.UserHandle user
android.util.ArraySet packageNames
int i
long stateCheckTriggerTime
android.app.AlarmManager$AlarmClockInfo alarmClockInfo
boolean isReadyToReboot
private void sendRebootReadyBroadcast (java.lang.String, android.os.UserHandle, boolean)
String packageName
android.os.UserHandle user
boolean isReadyToReboot
android.content.Intent intent
private void updateConfigs ()
private void noteInteractivityStateChanged (boolean)
boolean isInteractive
private void handleUserPresent ()
private void resetMetrics ()
android.util.SparseArray getCallingPackages ()
protected void dump (java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])
int j
android.util.ArraySet packageNames
int i
java.io.FileDescriptor fd
java.io.PrintWriter pw
String[] args
void writeBlockingUids (java.io.PrintWriter)
java.io.PrintWriter pw
void writeBlockingSubsystems (java.io.PrintWriter)
java.io.PrintWriter pw
private synthetic void lambda$checkSystemComponentsState$3 (java.util.List, android.scheduling.IRequestRebootReadinessStatusListener, java.util.List, java.util.concurrent.CountDownLatch, android.os.Bundle)
java.util.List blockingCallbacks
android.scheduling.IRequestRebootReadinessStatusListener callback
java.util.List blockingCallbackNames
java.util.concurrent.CountDownLatch latch
android.os.Bundle result
boolean isReadyToReboot
String name
private synthetic void lambda$addRequestRebootReadinessStatusListener$2 (android.scheduling.IRequestRebootReadinessStatusListener)
android.scheduling.IRequestRebootReadinessStatusListener callback
private synthetic void lambda$new$1 (android.provider.DeviceConfig$Properties)
android.provider.DeviceConfig$Properties properties
private synthetic void lambda$new$0 ()
static void <clinit> ()
}
com/android/server/scheduling/RebootReadinessManagerService$Lifecycle.class
RebootReadinessManagerService.java
package com.android.server.scheduling
public com.android.server.scheduling.RebootReadinessManagerService$Lifecycle extends com.android.server.SystemService {
public void <init> (android.content.Context)
android.content.Context context
public void onStart ()
com.android.server.scheduling.RebootReadinessManagerService rebootReadinessManagerService
}
com/android/server/scheduling/RebootReadinessManagerService$3.class
RebootReadinessManagerService.java
package com.android.server.scheduling
com.android.server.scheduling.RebootReadinessManagerService$3 extends android.content.BroadcastReceiver {
final synthetic com.android.server.scheduling.RebootReadinessManagerService this$0
void <init> (com.android.server.scheduling.RebootReadinessManagerService)
com.android.server.scheduling.RebootReadinessManagerService this$0
public void onReceive (android.content.Context, android.content.Intent)
android.content.Context context
android.content.Intent intent
String action
}
com/android/server/scheduling/RebootReadinessManagerService$2.class
RebootReadinessManagerService.java
package com.android.server.scheduling
com.android.server.scheduling.RebootReadinessManagerService$2 extends android.content.BroadcastReceiver {
final synthetic com.android.server.scheduling.RebootReadinessManagerService this$0
void <init> (com.android.server.scheduling.RebootReadinessManagerService)
com.android.server.scheduling.RebootReadinessManagerService this$0
public void onReceive (android.content.Context, android.content.Intent)
android.content.Context context
android.content.Intent intent
}
com/android/server/scheduling/RebootReadinessManagerService$1.class
RebootReadinessManagerService.java
package com.android.server.scheduling
com.android.server.scheduling.RebootReadinessManagerService$1 extends java.lang.Object implements android.net.TetheringManager$TetheringEventCallback {
final synthetic com.android.server.scheduling.RebootReadinessManagerService this$0
void <init> (com.android.server.scheduling.RebootReadinessManagerService)
com.android.server.scheduling.RebootReadinessManagerService this$0
public void onClientsChanged (java.util.Collection)
java.util.Collection clients
}
com/android/server/scheduling/RebootReadinessLogger.class
RebootReadinessLogger.java
package com.android.server.scheduling
final com.android.server.scheduling.RebootReadinessLogger extends java.lang.Object {
private static final String TAG
private static final String MODULE_NAME
private static final String REBOOT_STATS_FILE
private final Object mLock
private final android.util.SparseArray mBlockingApps
private final android.util.ArrayMap mBlockingComponents
private long mStartTime
private long mReadyTime
private int mTimesBlockedByInteractivity
private int mTimesBlockedBySubsystems
private int mTimesBlockedByAppActivity
private long mTimeUntilNextInteractionMs
private boolean mNeedsToLogMetrics
private boolean mShouldDumpMetrics
private final java.io.File mDeDir
private final android.content.Context mContext
private final android.content.pm.PackageManager mPackageManager
void <init> (java.io.File, android.content.Context)
java.io.File deDir
android.content.Context context
void <init> (android.content.Context)
android.content.Context context
void writeAfterRebootReadyBroadcast (long, long, int, int, int)
android.util.AtomicFile rebootStatsFile
com.android.server.scheduling.RebootStats rebootStats
long startTime
long readyTime
int timesBlockedByInteractivity
int timesBlockedBySubsystems
int timesBlockedByAppActivity
void deleteLoggingInformation ()
android.util.AtomicFile rebootStatsFile
void writeAfterNotRebootReadyBroadcast ()
com.android.server.scheduling.RebootStats rebootStats
java.io.FileInputStream stream
com.android.server.scheduling.RebootStats rebootStats
Exception e
com.android.server.scheduling.RebootStats rebootStats
android.util.AtomicFile rebootStatsFile
void readMetricsPostReboot ()
com.android.server.scheduling.RebootStats rebootStats
java.io.FileInputStream stream
Exception e
android.util.AtomicFile rebootStatsFile
void writePostRebootMetrics ()
long timeToUnlockMs
long timeToRebootReadyMs
long timeToNextInteractionMs
void maybeLogLongBlockingComponents (java.util.List, long)
com.android.server.scheduling.RebootReadinessLogger$BlockingEntityRecord record
String component
String existingRecordName
java.util.List blockingComponentNames
long thresholdMs
void maybeLogLongBlockingApps (java.util.List, long)
com.android.server.scheduling.RebootReadinessLogger$BlockingEntityRecord record
Integer uid
int uid
int i
Integer uid
java.util.List uidsToPrune
java.util.List blockingAppUids
long thresholdMs
android.util.AtomicFile getRebootStatsFile ()
java.io.File file
void writeBlockingUids (java.io.PrintWriter)
int appUid
String[] pkgs
int i
java.io.PrintWriter pw
void writeBlockingSubsystems (java.io.PrintWriter)
String subsystem
java.io.PrintWriter pw
private void writeRebootStatsToFile (com.android.server.scheduling.RebootStats, android.util.AtomicFile)
java.io.PrintWriter pw
com.android.server.scheduling.XmlWriter writer
Exception e
com.android.server.scheduling.RebootStats rebootStats
android.util.AtomicFile rebootStatsFile
java.io.FileOutputStream stream
void dump (java.io.PrintWriter)
java.io.PrintWriter pw
}
com/android/server/scheduling/RebootReadinessLogger$BlockingEntityRecord.class
RebootReadinessLogger.java
package com.android.server.scheduling
final com.android.server.scheduling.RebootReadinessLogger$BlockingEntityRecord extends java.lang.Object {
private final int mType
private String mComponentName
private int mAppUid
private long mLastMetricLoggedTime
private static final int ENTITY_TYPE_COMPONENT
private static final int ENTITY_TYPE_APP
private void <init> (java.lang.String)
String name
private void <init> (int)
int uid
private void logLongRebootBlockingIfNecessary (long)
int rebootBlockReason
long thresholdMs
long now
private static int mapEntityTypeToRebootBlockReason (int)
int type
private static java.lang.String rebootBlockReasonToString (int)
int rebootBlockReason
}
com/android/server/scheduling/RebootReadinessLogger$BlockingEntityRecord$EntityType.class
RebootReadinessLogger.java
package com.android.server.scheduling
abstract annotation com.android.server.scheduling.RebootReadinessLogger$BlockingEntityRecord$EntityType extends java.lang.Object implements java.lang.annotation.Annotation {
}
com/android/server/scheduling/
com/android/server/
com/android/scheduling/HandlerExecutor.class
HandlerExecutor.java
package com.android.scheduling
public com.android.scheduling.HandlerExecutor extends java.lang.Object implements java.util.concurrent.Executor {
private final android.os.Handler mHandler
public void <init> (android.os.Handler)
android.os.Handler handler
public void execute (java.lang.Runnable)
Runnable command
}
com/android/scheduling/BasicShellCommandHandler.class
BasicShellCommandHandler.java
package com.android.scheduling
public abstract com.android.scheduling.BasicShellCommandHandler extends java.lang.Object {
protected static final String TAG
protected static final boolean DEBUG
private android.os.Binder mTarget
private java.io.FileDescriptor mIn
private java.io.FileDescriptor mOut
private java.io.FileDescriptor mErr
private String[] mArgs
private String mCmd
private int mArgPos
private String mCurArgData
private java.io.FileInputStream mFileIn
private java.io.FileOutputStream mFileOut
private java.io.FileOutputStream mFileErr
private java.io.PrintWriter mOutPrintWriter
private java.io.PrintWriter mErrPrintWriter
private java.io.InputStream mInputStream
public void <init> ()
public void init (android.os.Binder, java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[], int)
android.os.Binder target
java.io.FileDescriptor in
java.io.FileDescriptor out
java.io.FileDescriptor err
String[] args
int firstArgPos
public int exec (android.os.Binder, java.io.FileDescriptor, java.io.FileDescriptor, java.io.FileDescriptor, java.lang.String[])
String cmd
int start
java.io.PrintWriter eout
Throwable e
android.os.Binder target
java.io.FileDescriptor in
java.io.FileDescriptor out
java.io.FileDescriptor err
String[] args
String cmd
int start
int res
public java.io.FileDescriptor getOutFileDescriptor ()
public java.io.OutputStream getRawOutputStream ()
public java.io.PrintWriter getOutPrintWriter ()
public java.io.FileDescriptor getErrFileDescriptor ()
public java.io.OutputStream getRawErrorStream ()
public java.io.PrintWriter getErrPrintWriter ()
public java.io.FileDescriptor getInFileDescriptor ()
public java.io.InputStream getRawInputStream ()
public java.io.InputStream getBufferedInputStream ()
public java.lang.String getNextOption ()
String prev
String arg
public java.lang.String getNextArg ()
String arg
public java.lang.String peekNextArg ()
public java.lang.String[] peekRemainingArgs ()
int pos
int remaining
String[] args
public int getRemainingArgsCount ()
public java.lang.String getNextArgRequired ()
String prev
String arg
public int handleDefaultCommands (java.lang.String)
String cmd
public android.os.Binder getTarget ()
public java.lang.String[] getAllArgs ()
public abstract int onCommand (java.lang.String)
public abstract void onHelp ()
}
com/android/scheduling/
com/android/
com/
android/util/LocalLog.uau
android/util/LocalLog.class
LocalLog.java
package android.util
public final android.util.LocalLog extends java.lang.Object {
private final java.util.Deque mLog
private final int mMaxLines
private final boolean mUseLocalTimestamps
public void <init> (int)
int maxLines
public void <init> (int, boolean)
int maxLines
boolean useLocalTimestamps
public void log (java.lang.String)
String logLine
String msg
String logLine
private synchronized void append (java.lang.String)
String logLine
public synchronized void dump (java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])
java.io.FileDescriptor fd
java.io.PrintWriter pw
String[] args
public synchronized void dump (java.io.PrintWriter)
java.io.PrintWriter pw
public synchronized void dump (java.lang.String, java.io.PrintWriter)
String indent
java.io.PrintWriter pw
java.util.Iterator itr
public synchronized void reverseDump (java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])
java.io.FileDescriptor fd
java.io.PrintWriter pw
String[] args
public synchronized void reverseDump (java.io.PrintWriter)
java.io.PrintWriter pw
java.util.Iterator itr
public synchronized void clear ()
public android.util.LocalLog$ReadOnlyLocalLog readOnlyLocalLog ()
}
android/util/LocalLog.ReadOnlyLocalLog.uau
android/util/LocalLog$ReadOnlyLocalLog.class
LocalLog.java
package android.util
public android.util.LocalLog$ReadOnlyLocalLog extends java.lang.Object {
private final android.util.LocalLog mLog
void <init> (android.util.LocalLog)
android.util.LocalLog log
public void dump (java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])
java.io.FileDescriptor fd
java.io.PrintWriter pw
String[] args
public void dump (java.io.PrintWriter)
java.io.PrintWriter pw
public void reverseDump (java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[])
java.io.FileDescriptor fd
java.io.PrintWriter pw
String[] args
public void reverseDump (java.io.PrintWriter)
java.io.PrintWriter pw
}
android/util/
android/
META-INF/MANIFEST.MF
META-INF/